正则表达式删除标点符号前面的空格

问题描述 投票:0回答:1

嗨,我正在尝试使用 regex 替换标点符号前面的空格。 我不想在 c# 中使用 Replace

 - 尝试用 
Regex
 替换这样的调用:

value = value .Replace(" !", "!") .Replace(" .", ".") .Replace(" ,", ",") .Replace(" ?", "?") .Replace(" ;", ";") .Replace(" :", ":");
    
c# regex
1个回答
0
投票
您可以尝试使用这样的正则表达式:

using System.Text.RegularExpressions; ... value = Regex.Replace(value, @"\s+\p{P}", "");
图案

\s+\p{P}

解释:

\s+ - one or more whitespaces \p{P} - any punctuation
如果您只想删除

常规,而不是白色空格,请使用" +\p{P}"

图案

© www.soinside.com 2019 - 2024. All rights reserved.