删除字符串中的空格

Kmm*_*e83 3 java regex

我必须摆脱超过1个空间,如果有超过1个空间我用单个空格替换它.这就是我做到了这一点,但我真的很困惑,这是做到这一点的最佳方式,以及所有这些的区别.下面是我的代码:

     public class SspaceDemo {

public static void main(String[] as) {
    String s="  Hi this   space  Demo   ";

    String  s1 = s.replaceAll("\\s +", " ");
    System.out.println(s1.trim());
    String  s2 = s.replaceAll(" +", " ");
    System.out.println(s2.trim());
    String  s3 = s.replaceAll(" {2,}", " ");
    System.out.println(s3.trim());
}
}
Run Code Online (Sandbox Code Playgroud)

这是实现结果的最佳方式.请建议.谢谢,

vik*_*iii 10

这是最好的方法.

   s = s.replaceAll("\\s+", " ");
Run Code Online (Sandbox Code Playgroud)

**那是什么意思?

\ s +是正则表达式.\ s匹配空格,制表符,换行符,回车符,换页符或垂直制表符,+表示"其中一个或多个".因此,上面的代码将折叠所有"空格子串"长于一个字符,具有单个空格字符.**