我希望在给定字符串中出现的数字之间删除数字之间的空格。我尝试使用以下表达式,该表达式在某些但不是所有情况下都有效:
result = Regex.Replace(input, @"(?<=\d) (?=\d)", "");
我已使用以下输入进行测试:
input = "1 500 000 frobs."
,结果为"1500000 frobs."
(正确)。input = "There are 1 500 000."
,结果为"There are 1 500 000."
(不正确)。我无法弄清楚为什么它在第一种情况下起作用,而不是第二种情况。我错过了什么?
答案 0 :(得分:2)
使用\p{Zs}
空格字符类将确保正则表达式匹配所有空格。我建议使用此代码:
result = Regex.Replace(input, @"(?<=\d)\p{Zs}(?=\d)", "");