【发布时间】:2016-04-17 16:02:57
【问题描述】:
首先我想提一下,我对编程和这种景象是新手,所以我在这个世界上还是个婴儿,但是,我有一个问题。
我必须编写可以比较两个字符串的代码,但第二个字符串(来自文件)将在其中具有唯一标识符。例如:
第一个字符串:
I have 10 cats and their fur is #000000
文件中的第二个字符串:
I have <d> cats and their fur is <h>
虽然我可能不需要解释,“d”代表数字或十进制,“h”代表十六进制。还有 's' 和 'a' 与 ASCII 相关联。
应该发生的是,当数据进入时,第一个字符串可以有任何不同的数字,可以是不同的长度和/或十六进制,但消息的其余部分保持不变,例如
I have 1500 cats and their fur is #000000
代码仍将匹配这两个字符串作为 True 匹配项,因为它会有效地忽略任何 int 和 hex 的内容。 (此标识符是用户定义的,因此它们可以位于任何字符串中的任何位置)。
最终的结果是,如果找到相对匹配,代码将更改应用程序中文本的颜色等。它基本上是为了突出显示日志文件中的错误。
我在 Stackflow 上搜索了 High 和 Low,并查看了 Regex 和字符串比较。我目前要开始编写代码,但是,需要一些输入/帮助。
显然我不是要求为我写一些东西,只是为了指出正确的方向,以便我可以学习。
提前非常感谢!如果有类似的帖子,我们深表歉意,但是如果有的话我找不到。
【问题讨论】:
-
你需要比较没有数字的字符串吗?
-
不,第二个字符串实际上是第一个字符串的掩码,一旦区分它就永远不会改变,但第一个字符串只会在指定的点(标识符)处改变。所以它会“忽略”任何数字(直到那时),直到它不是第一个字符串中的数字,因为掩码字符串(字符串 2)具有那个 d 标识符。
标签: c# string c#-4.0 compare string-comparison