C# 使用正则表达式删除特殊字符附近的相邻空格
使用正则表达式要删除替换字符附近的相邻空格C# 使用正则表达式删除特殊字符附近的相邻空格,c#,regex,string,C#,Regex,String,使用正则表达式要删除替换字符附近的相邻空格 replacementCharacter='-' 这个.\u adjacentSpace=new Regex($@“\s*([\{replacementCharacter}])\s*”; MatchCollection replaceCharacterMatch=this.\u adjacentSpace.Matches(extractedText); foreach(在replaceCharacterMatch中匹配replaceCharacter)
replacementCharacter='-'
这个.\u adjacentSpace=new Regex($@“\s*([\{replacementCharacter}])\s*”;
MatchCollection replaceCharacterMatch=this.\u adjacentSpace.Matches(extractedText);
foreach(在replaceCharacterMatch中匹配replaceCharacter)
{
if(replaceCharacter.Success)
{
cleanedText=Extactedtext.Replace(replaceCharacter.Value,replaceCharacter.Value.Trim());
}
}
Extractedtext=-whi,-ch
cleanedtext=-whi,-ch
预期结果:cleanedtext=-whi,-ch您可以使用
var Extactedtext=“-whi,-ch”;
var replacementCharacter=“-”;
var_adjacentSpace=newregex($@“\s*({Regex.Escape(replacementCharacter)})\s*);
var cleanedText=_adjacentSpace.Replace(Extactedtext,“$1”);
Console.WriteLine(cleanedText);//=>-哎呀,哎呀
看
注意:
是上述代码中的replacementCharacter
类型string
将创建一个类似于$@“\s*({Regex.Escape(replacementCharacter)})\s*”
的正则表达式,\s*-\s*
将正确地转义任何正则表达式特殊字符(如Regex.Escape()
,+
)等),以便在正则表达式模式中使用,并且整个正则表达式只是匹配(并用捕获括号捕获到组1)用零个或多个空格括起的(
replacementCharacter
- 无需使用
,只要替换所有匹配项(如果有),这就是Regex.Matches
的工作原理Regex.replace
是已编译的\u adjacentSpace
对象,要替换,只需调用Regex对象实例的Regex
方法即可.replace()
- 替换是对组1值的反向引用,即此处的
字符-