正则表达式从字符串中删除所有空格、句点和其他非单词字符
本文关键字:句点 其他 字符 单词 空格 字符串 删除 正则表达式 | 更新日期: 2023-09-27 18:30:33
我有这个[^'w'.@-]
正则表达式,它可以从给定的字符串中删除任何不是单词字符的字符,它可以正常工作。除了我希望它满足的两种情况之外,如果字符串中存在空格,还要删除任何空格
或句号.
。
我应该如何更改此正则表达式?我尝试通过互联网掌握正则表达式,但这似乎并不容易。
Regex.Replace(title, @"[^'w'.@-]", "",RegexOptions.None, TimeSpan.FromSeconds(1.5));
从负字符类中删除点。您只需要将要保留在替换字符串中的那些字符放在否定字符类中。
您可以使用:
string repl = Regex.Replace(title, @"[^'w@-]", "", TimeSpan.FromSeconds(1.5));
空格已被删除,因为空格不被视为单词字符。
你的正则表达式很好。问题似乎出在您尝试使用它的方式上。
替换没有就地发生,您需要捕获结果才能获得新字符串:
var newTitle = Regex.Replace(title, @"[^'w'.@-]", "", RegexOptions.None, TimeSpan.FromSeconds(1.5));
此表达式按预期工作(演示) - 它仅保留单词字符、点、破折号和 @
符号。