在StringTokenizer中为Empty Content分配值

时间:2012-11-02 08:11:33

标签: java string stringtokenizer

我必须从包含管道分隔字符串

的文件中读取输入
A|UK|2|1
B||3|1

StringTokenizer st = new StringTokenizer(data,"|");

String id=st.nextToken();
String country=st.nextToken();
String count=st.nextToken();
String flag=st.nextToken();

对于第二行文件,有一个空的内容,如果没有内容,我想分配“”字符串,我如何使用nextToken执行此操作?

谢谢

2 个答案:

答案 0 :(得分:4)

我建议您使用拆分,它将无任何例外地工作

String yourstring = "B||3|1";
String [] arr = yourstring.split("\\|");

String id=arr[0];
String country=arr[1];
String count=arr[2];
String flag=arr[3];

答案 1 :(得分:3)

一种解决方案可能是使用三参数构造函数

StringTokenizer(String str, String delim, boolean returnDelims)

传递true作为第三个参数。 这样StringTokenizer就会将分隔符作为标记,因此您只需检查两个或多个连续分隔符即可检查空字段。