StringTokenizer fieldSt = new StringTokenizer(aa, ",",true);就可以了,加参数true表示你的分隔符也算在内 StringTokenizer fieldSt = new StringTokenizer(aa, ",",false)则相反,相当于你的用法你试下看
String a = ",XX,YY,,"; a = a.replaceAll(",", " ,") + " "; //将逗号替换成空格加逗号,这样分开之后,"" 会变成" ",用的时候判断是否为空格就可以了. String [] b = a.split(","); int i;for (i = 0; i < b.length; i ++) { System.out.println (b [i]); }
packtrixie,这样做可不行,true表示把,也算进去了,跟我想要的不是一个意思
cuizm(射天狼),不错的主意,不过可能带来其他问题,有没有更稳定的办法
public class SplitString { public static void main(String[] args) { String example = ",,XX,YY,,"; // Use two arg version split(). String[] result = example.split(",", -1); for (int i = 0; i < result.length; i++) { System.out.println("\"" + result[i] + "\""); } } }如此即可
用转义可以解决你的问题,cuizm(射天狼)的方法很好了,我改了一下:class Part{ private String tempStr; Part(String s){ tempStr = s.replaceAll(",","\",\""); } public String toString(){ return tempStr; } }public class dd { public static void main(String[] args){ Part p = new Part(",XX,YY,,"); System.out.println(p.toString()); } }
StringTokenizer fieldSt = new StringTokenizer(aa, ",",false)则相反,相当于你的用法你试下看
a = a.replaceAll(",", " ,") + " "; //将逗号替换成空格加逗号,这样分开之后,"" 会变成" ",用的时候判断是否为空格就可以了.
String [] b = a.split(",");
int i;for (i = 0; i < b.length; i ++)
{
System.out.println (b [i]);
}
public static void main(String[] args) {
String example = ",,XX,YY,,";
// Use two arg version split().
String[] result = example.split(",", -1);
for (int i = 0; i < result.length; i++) {
System.out.println("\"" + result[i] + "\"");
}
}
}如此即可
private String tempStr;
Part(String s){
tempStr = s.replaceAll(",","\",\"");
}
public String toString(){
return tempStr;
}
}public class dd {
public static void main(String[] args){
Part p = new Part(",XX,YY,,");
System.out.println(p.toString());
}
}