我很感激你的帮助,因为我不知道要使用哪个字符范围,或者是否有像[[:cntrl:]]这样的字符类我在ruby中找到了?
通过不可打印的方式,我的意思是当打印输入字符串时删除所有未显示在输出中的字符.请注意,我寻找ac#regex,我的代码没有问题
Wik*_*żew 34
您可以删除所有控件和其他不可打印的字符
s = Regex.Replace(s, @"\p{C}+", string.Empty);
Run Code Online (Sandbox Code Playgroud)
在\p{C}Unicode的类别类的所有控制字符相匹配,即使是那些外面的ASCII表,因为在.NET中,Unicode的类别类是Unicode的默认.
您可以尝试:
string s = "Täkörgåsmrgås";
s = Regex.Replace(s, @"[^\u0000-\u007F]+", string.Empty);
Run Code Online (Sandbox Code Playgroud)
关于不可打印字符的文档:https : //en.wikipedia.org/wiki/Control_character
Char.IsControl 方法:
https://msdn.microsoft.com/en-us/library/system.char.iscontrol.aspx
也许你可以试试:
string input; // this is your input string
string output = new string(input.Where(c => !char.IsControl(c)).ToArray());
Run Code Online (Sandbox Code Playgroud)