c# - 替代 String.Replace

标签 c# regex string replace

所以我今天写了一些代码,基本上是这样的:

string returnString = s.Replace("!", " ")
            .Replace("@", " ")
            .Replace("#", " ")
            .Replace("$", " ")
            .Replace("%", " ")
            .Replace("^", " ")
            .Replace("*", " ")
            .Replace("_", " ")
            .Replace("+", " ")
            .Replace("=", " ")
            .Replace("\", " ")

这不是很好。我想知道是否有正则表达式或我可以编写的东西来替换对 Replace() 函数的所有调用?

最佳答案

您可以使用 Regex.Replace()。所有字符都可以放在方括号之间,匹配方括号之间的任何字符。一些特殊字符必须用反斜杠转义,我在这里使用 @verbatim 字符串,所以我不必为 C# 编译器对它们进行双重转义。第一个参数是输入字符串,最后一个参数是替换字符串。

var returnString = Regex.Replace(s,@"[!@#\$%\^*_\+=\\]"," ");

关于c# - 替代 String.Replace,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/118292/

相关文章:

c# - 使用 Linq To Twitter 获取所有关注者

objective-c - NSPredicate 正则表达式不起作用

c# - 如何从 EF 4 中的相关表中删除行?

c# - 编辑表单中的 Asp.net mvc 计算字段

regex - 多个等号的精确正则表达式匹配

regex - 我应该在 Common Lisp 中使用哪些正则表达式库?

c - 如何将逗号分隔的 char* 转换为 C 中的 uint32_t[] 数组

java - 对于字符串长度的循环奇怪地跳过一些字符

javascript - 将字符串转换为脊椎大写

c# - 是否有必要等待单个异步调用