在C#中替换字符串中的符号

Nov*_*ice 5 c# regex

我们如何在C#中替换字符串中的符号?

像这样

输入: "?Click me."

输出:"Click me.";

Don*_*nut 7

一个简单的解决方案是从字符串中删除所有非ASCII字符.在这个问题上有几种方法可以做到这一点,其中最简单的可能是:

string s = "?Click me.";
s = Regex.Replace(s, @"[^\u0000-\u007F]", "");
Run Code Online (Sandbox Code Playgroud)

虽然如上所述,这可能是编码/代码页问题 - 在这里使用正则表达式可能不一定是合适的解决方案.

编辑:根据您的意见,您可以尝试以下几种其他模式:

删除所有非ASCII字符和ASCII控制字符:

s = Regex.Replace(s, @"[^\u0020-\u007F]", "");
Run Code Online (Sandbox Code Playgroud)

删除除字母数字ASCII字符以外的所有内容:

s = Regex.Replace(s, @"[^A-Za-z0-9]", "");
Run Code Online (Sandbox Code Playgroud)