Possible Duplicate:
String split not returning empty results
我有一串用逗号(,)分隔的单词,我需要将主字符串标记或拆分为子字符串。例如,string="file1,param1,file2,param2,file3,"
该字符串的含义是所有文件名和传递给它的参数的列表。喜欢,
对于文件1-->参数1,
文件2-->参数2和
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,]。基本上我不应该错过上面 str
中第三个逗号之后的结束空字符串。字符串。
最佳答案
看起来你应该使用
String[] string = str.split(",",-1);
javadoc for String.split(String,int) 声明“如果 n 为非正数,则该模式将被应用尽可能多次,并且数组可以具有任意长度。”
关于java - 分割java字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11232088/