首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

split("\\|")对于空字符串,为什么是1,该如何处理

2012-04-13 
split(\\|)对于空字符串,为什么是1split(\\|)对于空字符串,为什么是1,是使用不当吗?比如.split(\\|

split("\\|")对于空字符串,为什么是1
split("\\|")对于空字符串,为什么是1,
是使用不当吗?比如"".split("\\|").length是1.

[解决办法]

Java code
String[] strs=" |asdf".split("\\|");        System.out.println(strs.length);        System.out.println(strs[0].equals(""));        System.out.println(strs[1]);//事实胜于雄辩。2trueasdf
[解决办法]
Java code
public class TestSpilt {   public static void main(String[] args){       String str="";       System.out.println(str.split("\\|").length);//输出1   } }
[解决办法]
Java code
 public String[] split(CharSequence input, int limit) {        int index = 0;        boolean matchLimited = limit > 0;        ArrayList<String> matchList = new ArrayList<String>();        Matcher m = matcher(input);        // Add segments before each match found        while(m.find()) {            if (!matchLimited || matchList.size() < limit - 1) {                String match = input.subSequence(index, m.start()).toString();                matchList.add(match);                index = m.end();            } else if (matchList.size() == limit - 1) { // last one                String match = input.subSequence(index,                                                 input.length()).toString();                matchList.add(match);                index = m.end();            }        }        // If no match was found, return this        if (index == 0)            return new String[] {input.toString()}; 

热点排行