如何使用C#的Regex移除标点符号前的空格
用C#正则表达式移除标点前的空格
你可以用Regex.Replace一次性替代所有重复的Replace调用,代码如下:
using System.Text.RegularExpressions; // 替换所有指定标点前的空格 value = Regex.Replace(value, @"\s([!.,?;:])", "$1");
正则说明:
\s:匹配任意空白字符(如果只想匹配普通空格,直接写空格即可)([!.,?;:]):用捕获组匹配你需要处理的标点符号,后续可以直接引用这个组的内容$1:引用第一个捕获组的内容,也就是匹配到的标点,这样就把「空格+标点」替换成「标点」本身
如果需要处理更多类型的标点,直接把符号添加到捕获组的括号里就行,比如要处理双引号,就改成([!.,?;:"])
内容的提问来源于stack exchange,提问作者Dennis
相关产品推荐
相关产品推荐

