我在这做错了什么?
string q = "john s!";
string clean = Regex.Replace(q, @"([^a-zA-Z0-9]|^\s)", string.Empty);
// clean == "johns". I want "john s";
Run Code Online (Sandbox Code Playgroud)
Tim*_*Tim 67
只是一个FYI
string clean = Regex.Replace(q, @"[^a-zA-Z0-9\s]", string.Empty);
Run Code Online (Sandbox Code Playgroud)
实际上会更好
string clean = Regex.Replace(q, @"[^\w\s]", string.Empty);
Run Code Online (Sandbox Code Playgroud)
小智 17
这个:
string clean = Regex.Replace(dirty, "[^a-zA-Z0-9\x20]", String.Empty);
Run Code Online (Sandbox Code Playgroud)
\ x20是'space'字符的ascii十六进制
您可以添加更多您想要允许的单个字符.如果你想要例如"?" 在返回字符串add \ x3f中没问题.
Joh*_*han 12
我知道了:
string clean = Regex.Replace(q, @"[^a-zA-Z0-9\s]", string.Empty);
Run Code Online (Sandbox Code Playgroud)
不知道你可以将\ s放在括号中
小智 5
以下正则表达式用于文本框中的空格包含。
Regex r = new Regex("^[a-zA-Z\\s]+");
r.IsMatch(textbox1.text);
Run Code Online (Sandbox Code Playgroud)
这对我来说效果很好。