我现在有一个String  str=7B0000C2281366||7B0000C227E49E||7B0000C2266D8F||7B0000C437B5DA 
我采用   String[]   result=str.split("||"); 拆分后,
  结果是 result={
7
B
0
0
0
0
C
2
2
8
1
3
6
6
|
|
7
B
0
0
0
0
C
2
2
7
E
4
9
E
};
为什么得不到我需要的:
result[0]=7B0000C2281366,result[1]=7B0000C227E49E,result[2]=7B0000C2266D8F,result[3]=7B0000C437B5DA 

解决方案 »

  1.   

    String[] result=str.split("\\|\\|");
      

  2.   

    java.lang.string.split 
    split 方法 
    将一个字符串分割为子字符串,然后将结果作为字符串数组返回。 
    stringObj.split([separator,[limit]]) 
    参数 
    stringObj 
    必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。 
    separator 
    可选项。字符串或 正则表达式对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。 
    limit 
    可选项。该值用来限制返回数组中的元素个数。
    说明 
    split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解“.”和“|”都是转义字符,必须得加"\\";
      

  3.   

    这样 对吗? String[] batter = str.getBatteriesID().trim().split("\\|\\|");
      

  4.   

    3L有发帖的时间,不如实际测试一下.......split("\|\|");.split("\\|\\|");试试看哪个正确。
      

  5.   

    String str = "7B0000C2281366||7B0000C227E49E||7B0000C2266D8F||7B0000C437B5DA";
    String[] result=str.split("\\|\\|");
    for(int i = 0;i <result.length;i++){
    System.out.println(result[i]);
    }在正则中,“|”有特殊意义,是“或”的意思。所以要转义一下。