【发布时间】:2018-06-19 06:54:08
【问题描述】:
当我运行以下代码时,我发现了一些奇怪的东西。
下面程序的输出是token1=AAAAA token2=BBBBB|
不过,据我了解,应该是token1=AAAAA token2=BBBBB|DUMMY
public class TestToken {
public static void main(final String[] args) {
final String delim = "DELIM";
String token1 = "AAAAA";
String token2 = "BBBBB|DUMMY";
final String input = token1 + delim + token2;
final StringTokenizer tokenizer = new StringTokenizer(input, delim);
final String text1 = tokenizer.nextToken();
final String text2 = tokenizer.nextToken();
System.out.println("token1=" + text1);
System.out.println("token2=" + text2);
System.out.println();
}
}
有人可以解释一下如何解决这个问题以及为什么会这样吗?
【问题讨论】:
-
@Berger 但是,我的分隔符是 Delim
-
@ScaryWombat--你能告诉我怎么做吗?因为我把字符串作为分隔符
-
在下面查看我的答案
-
需要考虑的事情(来自 StringTokenizer api)“StringTokenizer 是一个遗留类,出于兼容性原因保留,尽管在新代码中不鼓励使用它。建议任何寻求此功能的人使用String 或 java.util.regex 包的 split 方法。"
-
@ShowStopper 当一个选项被贬低时,JAVA 提供了各种其他选项。请在stackoverflow.com/a/50922619/1262248 提供其他三种标记化方式
标签: java string stringtokenizer