【发布时间】:2009-03-10 15:50:49
【问题描述】:
我想用加号“+”替换字符串中的所有非字母字符,但要确保一组多个非字母字符只被一个加号替换。
我曾认为以下方法可能有效,但显然不行:
System.Text.RegularExpressions.Regex.Replace(name, @"[^\w]*?", "+")
【问题讨论】:
我想用加号“+”替换字符串中的所有非字母字符,但要确保一组多个非字母字符只被一个加号替换。
我曾认为以下方法可能有效,但显然不行:
System.Text.RegularExpressions.Regex.Replace(name, @"[^\w]*?", "+")
【问题讨论】:
试试 System.Text.RegularExpressions.Regex.Replace(name, @"\W+", "+")
为此:“sasa-==[]&^asdsa2435”匹配 -==[]&^
【讨论】:
你不应该禁用贪婪,你想要 1 或更多,而不是 0 或更多。代替 ”*?”用“+”。
【讨论】: