C# 如何在不使用C中的正则表达式的情况下在字符串中查找_标记#
我有以下资料:C# 如何在不使用C中的正则表达式的情况下在字符串中查找_标记#,c#,C#,我有以下资料: 动物跳过了对象 我想用C编写一个简洁的方法,返回animal和object。没有正则表达式怎么能做到这一点?一个肮脏的解决方案是一个接一个地遍历字符,直到找到一个\uuu,然后构建一个字符串,直到找到结尾的\uu——但我正在寻找一种更优雅的方法。如果不想使用正则表达式,就必须以某种形式进行迭代 string text = "The __animal__ jumped over the __object__"; List<string> words =
动物跳过了对象
我想用C编写一个简洁的方法,返回
animal
和object
。没有正则表达式怎么能做到这一点?一个肮脏的解决方案是一个接一个地遍历字符,直到找到一个\uuu
,然后构建一个字符串,直到找到结尾的\uu
——但我正在寻找一种更优雅的方法。如果不想使用正则表达式,就必须以某种形式进行迭代
string text = "The __animal__ jumped over the __object__";
List<string> words = text.Split(' ').ToList();
words = words.Where(x => x.StartsWith("__") && x.EndsWith("__")).ToList();
string text=“动物跳过了对象”;
列表单词=text.Split(“”).ToList();
words=words.Where(x=>x.StartsWith(“\uuuu”)&x.EndsWith(“\uuuuu”).ToList();
您可以使用IEnumerable.com的扩展进行搜索,如上所述。但是框架在技术上是迭代的。所以你不想使用正则表达式,或者迭代字符串的字符,有什么好的理由吗?你还有什么不必要的限制吗?@maccettura Regex不可读,而且遍历字符也不雅观。寻找干净的、可维护的解决方案没有错。“干净的、可维护的解决方案”。。。所以我想到了Regex?
IndexOf
或者Split().Replace()
函数。。但是听起来@user666并没有做过任何可行的研究,也没有自己尝试过任何东西。否决这一条很奇怪,为什么你认为遍历字符是“不雅观的”。这是一种非常常见且可扩展的字符串解析方法。如果他们认为这比7个字符的正则表达式模式更“可读”,我担心OP