日期:2014-05-20  浏览次数:20689 次

为什么在split 中的正则表达式加上 “^”和“$”后不起效果呢?
Java code

public class ClassLib
{
    public static void main(String[] args) {    
        String s="a d d s w a s d";
        String[] re=s.split("\\s+");//String[] re=s.split("^\\s+$");
        System.out.println(re.length);
        for(int i=0;i<re.length;i++)
        System.out.println(re[i].toString());
   
    }
}

为什么在split 中的正则表达式加上 “^”和“$”后不起效果呢????????????????

------解决方案--------------------
^是开头 $是结尾。

^\\s+$这样写是从开头到结尾都是空字符的意思。

你要匹配的字符串没有这样的pattern,所以应该返回长度为1的数组 值就是全部。

String[] re=s.split("不存在的模式"); 一个效果。

------解决方案--------------------
探讨

^是开头 $是结尾。

^\\s+$这样写是从开头到结尾都是空字符的意思。

你要匹配的字符串没有这样的pattern,所以应该返回长度为1的数组 值就是全部。

String[] re=s.split("不存在的模式"); 一个效果。