【发布时间】:2015-09-17 14:57:00
【问题描述】:
我正在开发一个比较工具来比较两行文本字符串。条件是,我需要获取子字符串的某个部分并忽略它进行比较。例如
两行
文件 = .test\testfile CRC = 0x0987678 日期 = 10/09/2015 版本 = 1
文件 = .test\testfile CRC = 0x0984567 日期 = 11/09/2015 版本 = 1
如果两个过滤器作为 CRC 和 DATE 提供,那么我需要忽略完整的字段和值。因此 CRC = 0x0987678 DATE = 10/09/2015 将被忽略以进行比较,并且只会比较字符串的其余部分在上述情况下将返回 true,因为字符串的其余部分是相同的。
现在我可以通过搜索字符串、删除空格、获取值等来做到这一点,但我正在寻找带有正则表达式的解决方案来优化我的解决方案。谢谢。
【问题讨论】:
-
你试过正则表达式了吗?如果是这样,您尝试过什么?
-
我建议要么使用一些数据预处理来获得字符串的“标准化”表示,这是通过删除不相关的部分生成的,或者编写一个比较函数来执行此操作即时。是什么让您认为正则表达式能更好地做到这一点?
-
我还没有尝试过正则表达式,但只是认为它会是一种更好的方法,因为我还没有探索过这个实用程序在 c# 中的潜力。会尝试一下,但欢迎提出任何建议,这包括不使用正则表达式并采用传统方法。
-
好的,我只想知道,如果有这样的字符串:"File = .test\testfile CRC = 0x0984567 DATE = 11/09/2015 VERSION = 1" 并想将其与通过忽略字符串的某些部分来创建另一个字符串,有没有一种有效的方法来做到这一点?
标签: c#