我正在使用String.split()
方法拆分XML元素。 XML元素的格式如下所述:
开始:23 |停止:43 |名称:abc def
在分割字符串之后,我正在尝试修剪并分配如下:
String[] parts = oneLine.split("\\s*\\|\\s*"); // splits into 3 strings
for (int x = 0; x < parts.length; x++) {
String tmp = parts[0];
if (tmp.startsWith("start:")) {
tmp = tmp.substring("start:".length());
try {
this.begin = Integer.parseInt(tmp);
}
catch (NumberFormatException nfe) {
nfe.printStackTrace();
}
}
else {
System.err.println("Wrong format");
}
String tmp1 = parts[1];
if ( tmp1.startsWith("stop:")) {
tmp1 = tmp1.substring("stop:".length());
try {
this.end = Integer.parseInt(tmp1);
}
catch ( NumberFormatException nfe ) {
nfe.printStackTrace();
}
}
else {
System.err.println("Wrong format"+tmp1);
}
Strint tmp2 = parts[2];
if ( tmp2.startsWith("name:")) {
tmp2 = tmp2.substring("name:".length());
try {
this.name = tmp2;
}
catch ( NumberFormatException nfe ) {
nfe.printStackTrace();
}
}
else {
System.err.println("Wrong format"+tmp2);
}
这会返回错误Wrong format
。这是分配String tmp1 = parts[0]
的问题吗?
答案 0 :(得分:0)
回答我的问题。
String[] parts= oneLine.split("\\s*\\|\\s*");
//System.out.println(parts[0]);
String tmp=parts[0].substring("start:".length());
this.begin=Integer.parseInt(tmp);
String tmp1=parts[1].substring("stop:".length());
this.end=Integer.parseInt(tmp1);
String tmp2=parts[2].substring("name:".length());
this.uri=tmp2;
以上代码段解决了我的问题