【问题标题】:C# Comparing two strings, one with unique indenifiersC#比较两个字符串,一个具有唯一标识符
【发布时间】: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


【解决方案1】:

如果我理解正确,我想我可以通过用 RegEx 表达式替换 &lt;d&gt; 等来解决这个问题。然后使用该 RegEx 将值替换为空字符串。这样你就可以在没有值的情况下比较它们。

希望这是有道理的。我没有包含任何代码,因为您只询问了一些方向。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多