为了回答这个问题,我们假设我有一个包含值为
Two;.Three;.Four
(等等)的String
,但是这些元素是由;.
分隔的。现在我知道有多种拆分字符串的方法,例如split()
和StringTokenizer
(后者速度更快且效果良好),但我的输入文件大约有1GB,我正在寻找比StringTokenizer
稍微更高效的方法。经过一些研究,我发现indexOf
和substring
非常高效,但示例仅具有单个分隔符或结果仅返回单个单词/元素。使用indexOf
和substring
的示例代码:String s = "quick,brown,fox,jumps,over,the,lazy,dog";
int from = s.indexOf(',');
int to = s.indexOf(',', from+1);
String brown = s.substring(from+1, to);
上述方法适用于打印brown
,但我如何使用indexOf
和substring
来拆分带有多个分隔符的行,并将所有项按如下方式显示。
预期输出
Two
Three
Four
....and so on
indexOf
重载,它接受String
类型的参数... - yshavit