Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在不使用C中的正则表达式的情况下在字符串中查找_标记#_C# - Fatal编程技术网

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