小编Fre*_*oux的帖子

查找忽略指定字符的子字符串

你们中的任何人都知道一种简单/干净的方法来查找字符串中的子字符串,同时忽略一些指定的字符来查找它.我想一个例子可以更好地解释事情:

  • string: "你好,-this-是一个字符串"
  • substring找到: "你好这个"
  • chars忽略: ","和" - "
  • 找到子串,结果: "你好, - 这个"

使用正则表达式不是我的要求,但我添加了标签,因为它感觉相关.

更新:

为了使需求更加清晰:我需要使用忽略的字符生成子字符串,而不仅仅是指示给定的子字符串存在.

更新2: 你们中的一些人正在阅读过多的例子,对不起,我将给出另一个应该有效的方案:

  • 字符串: "?A&3/3/C)412&"
  • 子串找: "A41"
  • 要忽略的字符: "&","/","3","C",")"
  • 找到子串,结果: "A&3/3/C)41"

并且作为奖励(本身不是必需的),如果假设要查找子字符串没有被忽略的字符也是不安全的,例如:给出最后一个示例,我们应该能够做到:

  • 子串找: "A3C412&"
  • 要忽略的字符: "&","/","3","C",")"
  • 找到子串,结果: "A&3/3/C)412&"

对不起,如果我以前不清楚,或者我仍然不是:).

更新3:

感谢所有帮助过的人!这是我现在正在使用的实现:

这里有一些测试:

我正在使用一些我不包括的自定义扩展方法,但我相信它们应该是自我解释的(如果你愿意,我会添加它们)我已经为实现和测试采取了很多你的想法,但我是给@PierrOz的答案,因为他是第一,并指出了我正确的方向.随意提供建议作为替代解决方案或对当前状态的评论.如果你喜欢.

.net c# regex substring

6
推荐指数
1
解决办法
4018
查看次数

标签 统计

.net ×1

c# ×1

regex ×1

substring ×1