【发布时间】:2015-09-14 05:23:18
【问题描述】:
给定一个字符串,格式为:
String myStr = "5.1\t3.5\t1.4\t0.2\t0.0";
如果我打电话:
StringTokenizer token = new StringTokenizer(myStr, "\\s+");
String firstElement = token.nextToken();
firstElement 然后等于整个字符串。相反,如果我调用:
StringTokenizer token2 = new StringTokenizer(myStr);
String firstElement = token2.nextToken();
firstElement 等于“5.1”。同样,如果我使用字符串拆分如下:
String[] splitArray = myStr.split("\\s+")
String firstElement = splitArray[0];
那么,firstElement 是“5.1”。
我了解不鼓励使用 StringTokenizer,它被归类为“遗留类”。我的目的是了解为什么相同的分隔符在 split 和 StringTokenizer 之间的工作方式不同。我本来希望第一个示例像后两个示例一样工作,但由于某种原因,它正在跳过选项卡。任何关于我所缺少的指导将不胜感激。
请注意,我在 Eclipse 的 OSX 上运行 1.7.0_19,但我不希望这些变量在这里产生影响。
【问题讨论】:
标签: java split stringtokenizer