我有以下代码,它给了我一个意外的结果:
String output = "New Record created successfully<br>Enter stops<br>";
StringTokenizer st = new StringTokenizer(output);
token = st.nextToken("<br>");
msg1.setText(token);
while (st.hasMoreTokens()) {
token = st.nextToken("<br>");
msg2.setText(token);
}
实际和预期输出:
msg1
显示New
但应为New record created successfully
msg2
显示stops
,但应为Enter stops
StringTokenizer
在分隔符参数中所有提供字符的每个位置拆分字符串。它不会在提供的整个字符串出现时拆分。此外,它是一个遗留类,不建议在新代码中使用它。
使用String#split
,它接受一个用于标记字符串的正则表达式:
String output = "New Record created successfully<br>Enter stops<br>";
String[] tokens = output.split("<br>");
String token = tokens[0];
System.out.println(token);
if (tokens.length > 0) {
token = tokens[1];
System.out.println(token);
}
输出:
New Record created successfully
Enter stops