重複の可能性:
Java の trim() メソッドに関するクエリ
サイトのユーザー名やその他の情報を解析していますが、それぞれの後にたくさんのスペースがあります (ただし、単語の間にはスペースがあります)。例: 「ビルダーのボブ」または「溶接工のサム」。スペースの数は、名前によって異なります。以前に使用したことがあるので、.trim() を使用するだけでよいと考えました。しかし、それは私に問題を与えています。私のコードは次のようになります。
for (int i = 0; i < splitSource3.size(); i++) {
splitSource3.set(i, splitSource3.get(i).trim());
}
結果はまったく同じです。末尾のスペースは削除されません。すばらしい回答をありがとうございます。
アップデート:
最初に解析される HTML タグがあるため、完全なコードはもう少し複雑です。まさに次のようになります。
for (String s : splitSource2) {
if (s.length() > "<td class=\"dddefault\">".length() && s.substring(0, "<td class=\"dddefault\">".length()).equals("<td class=\"dddefault\">")) {
splitSource3.add(s.substring("<td class=\"dddefault\">".length()));
}
}
System.out.println("\n");
for (int i = 0; i < splitSource3.size(); i++) {
splitSource3.set(i, splitSource3.get(i).substring(0, splitSource3.get(i).length() - 5));
splitSource3.set(i, splitSource3.get(i).trim());
System.out.println(i + ": " + splitSource3.get(i));
}
}
アップデート:
落ち着け。Java に問題があるとは決して言いませんでしたし、それがバグだとか、壊れているとか、そういうことだとも言いませんでした。私は単に問題があると言って、あなたが協力して私の問題を解決するのを助けるために私のコードを投稿しました. 「Javaの問題」ではなく、「私の問題」というフレーズに注意してください。私は実際にコードを印刷してもらいました
System.out.println(i + ": " + splitSource3.get(i) + "*");
その後、for each ループで。
これで自分に問題があることがわかりました。ちなみに、問題はまだ修正されていません。
アップデート:
出力例 (一重引用符を除く):
'0: Olin D. Kirkland '
'1: Sophomore '
'2: Someplace, Virginia 12345<br />VA SomeCity<br />'
'3: Undergraduate '
OP を編集して、 Java の trim() メソッドに関する Queryでの彼の質問を言い換えましたString.trim()
。