正在读取包含单词、数字和特殊字符的文本文件,我想删除某些特殊字符,例如:[](),'
我有这段代码,但它不起作用!
using (var reader = new StreamReader ("C://Users//HP//Documents//result2.txt")) {
string line = reader.ReadToEnd ();
Regex rgx = new Regex ("[^[]()',]");
string res = rgx.Replace (line, "");
Message1.text = res;
}
我错过了什么,谢谢
最佳答案
Regex 中的一些字符,特别是 [ ] ( ) ^
,保留 special meaning in Regex为了按字面意义使用它们,它们必须被转义。
使用以下正确转义的正则表达式:
Regex rgx = new Regex (@"[\^\[\]\(\)',]");
请注意,必须使用 @
逐字字符串,因为我们不想从字符串中转义这些字符,而只是从正则表达式中转义。 p>
或者,双重转义反斜杠:
Regex rgx = new Regex ("[\\^\\[\\]\\(\\)',]");
但在这种情况下可读性较差。
关于c# - 使用 RegEx 从字符串中删除特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48175496/