C# 在C中删除数字之间空格的正则表达式#

C# 在C中删除数字之间空格的正则表达式#,c#,regex,C#,Regex,我想删除给定字符串中数字之间的空格。我尝试使用以下表达式,它在某些情况下有效,但并非所有情况下都有效: result = Regex.Replace(input, @"(?<=\d) (?=\d)", ""); result=Regex.Replace(输入,@”(?使用\p{Zs}空格字符类将确保Regex匹配所有空格。我建议使用以下代码: result = Regex.Replace(input, @"(?<=\d)\p{Zs}(?=\d)", ""); result=Reg

我想删除给定字符串中数字之间的空格。我尝试使用以下表达式,它在某些情况下有效,但并非所有情况下都有效:

result = Regex.Replace(input, @"(?<=\d) (?=\d)", "");

result=Regex.Replace(输入,@”(?使用
\p{Zs}
空格字符类将确保Regex匹配所有空格。我建议使用以下代码:

result = Regex.Replace(input, @"(?<=\d)\p{Zs}(?=\d)", "");

result=Regex.Replace(input,@)(?最后一个也适用于我。也许你的输入中有不间断的空格?试试这个:
(?@Lucastzesniewski,也会匹配回车符/换行符,我怀疑这是OP想要的。经过测试,我认为只要全局位打开,就不是正则表达式,我猜这是因为它是最后一个被替换的空格。不执行此全局操作将只替换第一个实例(除非在代码的其余部分没有发布一些奇怪的东西)正则表达式“/(\d\s+\d)/g”就足够了。在C#中,应该使用\p{Zs}来匹配任何空格。因此,我要使用
(?)?