本帖最后由 sAS112UUUYY111 于 2010-03-15 10:15:48 编辑

解决方案 »

  1.   

    用\\s+或者[\\s]+来匹配
    [...]表示字符集合,判断与方括号里面的字符匹配,因此\\s+和[\\s]+是一样的
    ()无特殊含义
      

  2.   

    如果只要求是空格,而不是空白的话“ +” 这个正则(引号中的内容)便可以。
    其他问题
    1、[] 中的 * 表示其本身
    2、\s 表示的空白符号都有:  \t\n\x0B\f\r
    3、这里既不需要[]也不需要()。[] 有或的意思。例如:[abc] 匹配 a 或 b 或 c 。()是捕获组。
      

  3.   

    " +"这个就可以了。用String.reaplaceAll(" +", " ")方法,就能将连续空格变成一个。
      

  4.   


    String str = "fdsfds fdsf    fsdfdf".reaplaceAll("[\\s]+", " ");1、[\\s*]表示空格或者其它的东西,'+'表示大于0个。因此结果是把所有内容都换成空格。2、正解。3、[\\s]+和(\\s)+有巨大的区别,在一些场合。[\\s]+,就是你说的那样效果;(\\s)+就是将每个空白字符分组。
      

  5.   

    " \t\n\x0B\f\r"中\x0B是什么?
      

  6.   

    \v 匹配一个垂直制表符。等价于 \x0b 和 \cK。 
    什么是垂直制表符?