Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.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#_Regex_String_Replace - Fatal编程技术网

C# 使用正则表达式从字符串中删除一些字符

C# 使用正则表达式从字符串中删除一些字符,c#,regex,string,replace,C#,Regex,String,Replace,我正在使用以下正则表达式: documentText = Regex.Replace(documentText, "\\\\|\\^|\\+|\\*|~|#|=|\"", ""); 它是有效的。但当我使用以下方法拆分此字符串时: wordsInText = documentText.ToLower().Split(' ').ToList(); 我得到的元素被标记为”(空字符串)。我可以通过遍历集合并删除空元素来手动删除它,但这必须是防止这种奇怪行为的一种方法。您的意思是,原始的documen

我正在使用以下正则表达式:

documentText = Regex.Replace(documentText, "\\\\|\\^|\\+|\\*|~|#|=|\"", "");
它是有效的。但当我使用以下方法拆分此字符串时:

wordsInText = documentText.ToLower().Split(' ').ToList();

我得到的元素被标记为
(空字符串)。我可以通过遍历集合并删除空元素来手动删除它,但这必须是防止这种奇怪行为的一种方法。

您的意思是,原始的
documentText
不包含连续的空格,但在替换它之后会吗?然后只需使用正则表达式字符串
“(\\\\\\\^\+\\*\\*.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\“
Bergi,你说得对。我试图使用你的正则表达式模式,但它仍然留有空格。你的意思是,原来的
documentText
没有包含连续的空格,但在替换它之后却包含了?然后只需使用正则表达式字符串
“(\\\\\\\^\+\\*\\*.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\*.\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\“
Bergi,你说得对。我尝试使用您的正则表达式模式,但它仍然留有空白。出于好奇,如果只有一个分隔符字符,为什么要使用
char
数组?@m.buettner因为没有重载方法接受char和stringsplitoptions谢谢L.B.这很有效,但是有可能在正则表达式中解决这个问题吗?出于好奇,如果只有一个分隔符字符,为什么要使用
char
数组?@m.buettner因为没有重载方法接受char和stringsplitoptions谢谢L.B。这是可行的,但是有可能在正则表达式中解决这个问题。
documentText.ToLower().Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries)