用单个空格替换单词之间的多个空格

时间:2011-12-07 16:19:35

标签: java regex

我需要使用java替换一行中单词之间的多个空格。我使用下面的代码来执行此操作。但是,当两个单词中的一个单词是连字符' - '时,它不起作用。如果其中一个单词是连字符' - ',请告诉我如何用一个空格替换一行中单词之间的多个空格。

String s="1 2 1 2 1 2 1 2 1 2 1     2 1 2 1 2 1 2 1 2 1 2 1 2"

s.replaceAll("\\b\\s{2,}\\b", " ");

由于

2 个答案:

答案 0 :(得分:4)

您可以简单地使用:

String s = "1   -   2   2"
s.replaceAll("\\s{2,}", " ");

给出:“1 - 2 2”

甚至更简单:

s.replaceAll("\\s+", " ");

答案 1 :(得分:1)

删除单词边界\\b,因为短划线-和空格之间没有人。