我正在使用一个Regex表达式,当有两个或更多个重复时,它会去除空格,只留下一个空格。
例如这一行
The cow jumped over the moon
在某些情况下,有多个空格分隔的将成为
The cow jumped over the moon
答案 0 :(得分:15)
string cleanedString = Regex.Replace(input, @"\s+", " ");
答案 1 :(得分:8)
试试这个正则表达式:
[ ]+
并用一个空格替换它。
答案 2 :(得分:0)
我通常这样做的方法是重复用一个空格替换两个空格,直到找不到更多的条目。这当然意味着多次传递和几轮替换w /每轮分配和垃圾收集一个字符串,但我发现开销远低于解析和执行正则表达式。即使有64个空格,也只需要7次通过即可修复。此外,典型的字符串只有2-5个空格,因此工作速度更快。
答案 3 :(得分:0)
我一直用sed做这个。
$ echo "The cow jumped over the moon" | sed -e 's/[ ]\+/ /g'
The cow jumped over the moon
在字符类方括号中,您有一个空格和制表符。我用'\'引用'+',如果你的正则表达式引擎用'+'表示“一个或多个”而不是文字'+',则可能没有必要。