如何删除String之间的空格

时间:2013-09-18 10:57:44

标签: java regex string

我有以下字符串

  string = "Book Your Domain And Get\n \n\n \n \n \n Online Today."
  string = str.replace("\\s","").trim();

返回

  str = "Book Your Domain And Get     Online Today."

但是想要的是

  str = "Book Your Domain And Get Online Today."

我尝试了很多正则表达式,也用谷歌搜索但没有运气。并没有找到相关的问题,请帮助,非常感谢提前

8 个答案:

答案 0 :(得分:31)

使用\\s+代替\\s,因为您的输入中有两个或更多连续的空格。

string = str.replaceAll("\\s+"," ")

答案 1 :(得分:12)

您可以使用replaceAll作为参数使用正则表达式。似乎你想用一个空格替换多个空格。你可以这样做:

string = str.replaceAll("\\s{2,}"," ");

它将用一个空格替换2个或更多个连续的空格。

答案 2 :(得分:3)

答案 3 :(得分:2)

首先摆脱多个空格:

String after = before.trim().replaceAll(" +", " ");

答案 4 :(得分:0)

如果只想删除2个单词或字符之间的空格,而不是字符串的末尾 那么这是 我使用过的正则表达式

        String s = "   N    OR  15  2    ";

    Pattern pattern = Pattern.compile("[a-zA-Z0-9]\\s+[a-zA-Z0-9]", Pattern.CASE_INSENSITIVE); 

    Matcher m = pattern.matcher(s);

        while(m.find()){
        String replacestr = "";


        int i = m.start();
            while(i<m.end()){
                replacestr = replacestr + s.charAt(i);
                i++;
            }

            m = pattern.matcher(s);
        }

        System.out.println(s);

它只会删除字符或单词之间的空格,而不是结尾的空格 输出是

  

NOR152

答案 5 :(得分:0)

例如。删除字符串中单词之间的空格:

s

String example = "Interactive Resource";

输出:  System.out.println("Without space string: "+ example.replaceAll("\\s",""));

答案 6 :(得分:0)

如果要打印不带空格的字符串,只需将参数sep =''添加到打印函数中,因为此参数的默认值为“”。

答案 7 :(得分:0)

//user this for removing all the whitespaces from a given string for example a =" 1 2 3 4"
//output: 1234 
a.replaceAll("\\s", "")