c# - 使用 RegEx 从字符串中删除特殊字符

标签 c# regex special-characters

正在读取包含单词、数字和特殊字符的文本文件,我想删除某些特殊字符,例如:[](),'

我有这段代码,但它不起作用!

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/

相关文章:

c# - 无法在 NLB 上加载 View 状态

javascript - 使用正则表达式验证字符串是否是 URL 安全的

jQuery typeahead.js 和重音符号

php - 用于 PHP 的 TCPDF 在使用特殊(斯洛文语)字符 đ 时创建空 PDF

c# - 使用泛型时初始化类

c# - 消息队列和服务总线的消息粒度

regex - VBS 使用通配符比较字符串

java - 在字符串中查找特定的特殊字符

c# - 多容器 Azure WebApp 无法与托管标识一起使用

java - 如何在正则表达式组中包含多个新行和多个空格?