stringtokenizer中出现意外结果

sshcrbum  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(331)

下面的代码给了我一个意外的结果:

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

hfsqlsce

hfsqlsce1#

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

相关问题