0

私は現在、機能に関する奇妙な問題に直面してい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);

             }

エミュレーターでは結果の配列は問題なく生成されますが、デバイスでは最初の分割はエラーなどなしに失敗します。文字列の内容はエミュレータと同じです。

4

1 に答える 1

0

組み込みの String メソッドの代わりにStringUtils.split()を使用して String を分割します。String.split() 引数が正規表現 (特殊文字などを正しくエスケープする必要がある) であるため、多くのエラーが発生します。

そこで正規表現をいじりたいわけではありません。文字列をトークンに分割したいだけですよね?

于 2012-06-03T15:19:14.550 に答える