Android split()适用于模拟器,但不适用于设备

时间:2012-06-02 16:48:55

标签: java android string split

我目前面临str.split()功能的奇怪问题。首先是我的代码:

     String[] seperated = content.split("<div id=\"results\" style=\"width: 175px; \">");
             Log.d("seperated length", "" + seperated.length);



             if(seperated.length>1){
                 Log.d("sep1 t2.", seperated[1]);

                 String[] sep2 = seperated[1].split("<div id=\"map\" ");

                 Log.d("sep2 t1", sep2[0]);

                 String[] sep3 = sep2[0].split("<div class=\"resultLine\">");
                 result = new String[sep3.length];
                 for(int i=1; i<sep3.length; i++){
                    String[] temp = sep3[i].split("class=\"icon1\">");
                    String[] temp2 = temp[1].split("<br>");
                    String[] temp3 = temp2[1].split("<br");
                    String[] temp4 = temp3[0].split("</a>");
                    result[i-1] = temp2[0] + " " +temp4[0];
                    Log.d("places", result[i-1]);


                 }
                 handler.sendEmptyMessage(0);
             } else {
                handler.sendEmptyMessage(1);

             }

在模拟器上生成结果数组没有问题,但在设备上第一次拆分失败,没有错误或任何错误。 字符串内容与模拟器上的内容相同。

1 个答案:

答案 0 :(得分:0)

使用StringUtils.split()分割你的字符串而不是内置的String方法。 String.split()参数是一个正则表达式(需要正确转义特殊字符等)这一事实会导致很多错误。

你真的不想在那里弄乱正则表达式,你只想把一个字符串分成标记,对吗?