重複の可能性:
文字列分割で空の結果が返されない
コンマ (,) で区切られた単語の文字列があり、メインの文字列を部分文字列にトークン化または分割する必要があります。たとえばstring="file1,param1,file2,param2,file3,"
、文字列の意味は、すべてのファイル名とそれに渡されたパラメーターのリストです。同様に、file1--> param1、file2-->param2、および file3 にはパラメータは存在しません。
そのため、ファイル名とパラメーターがあればそれを抽出する必要があります。パラメータがない場合は、空の文字列 ("") を取得する必要があります。
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
public class XStringTokenizer {
/**
* @param args
*/
public static void main(String[] args) {
String str = new String("File1,param1,File2,");
List list = new ArrayList();
System.out.println(str.split(",").length);
String[] string = str.split(",");
for(int i=0;i<string.length;i++){
list.add(string[i]);
}
System.out.println(list);
}
}
上記のサンプル コードの現在の出力は [File1,param1,File2] ですが、予想される出力は [File1,param1,File2,] です。基本的に、上記の文字列の 3 番目のコンマの後の最後の空の文字列を見逃すことはできませんstr
。