Java:字符串拆分为多个元素

时间:2012-04-13 19:19:15

标签: java string file text split

我很难弄清楚如何分割字符串,如下所示:

String str = "hi=bye,hello,goodbye,pickle,noodle

此字符串是从文本文件中读取的,我需要将字符串拆分为逗号之间的每个元素。所以无论文本文件读取什么,我都需要将每个元素拆分成自己的字符串。请记住,每个元素可以是任何长度,并且可以存在任何数量的'hi'等于的元素。有任何想法吗?谢谢!

4 个答案:

答案 0 :(得分:5)

使用拆分!

String[] set=str.split(",");

然后根据需要从set [...]访问每个字符串(所以假设你想要第3个字符串,你会说:set [2])。

作为测试,您可以将它们全部打印出来:

for(int i=0; i<set.length;i++){
    System.out.println(set[i]);
}

答案 1 :(得分:1)

如果您需要更高级的方法,我建议使用guava的Splitter类:

Iterable<String> split = Splitter.on(',')
                                 .omitEmptyStrings()
                                 .trimResults()
                                 .split(" bye,hello,goodbye,, , pickle, noodle  ");

这将删除前导或尾随空格并省略空白匹配。该类中有一些更酷的东西,比如将String拆分为键/值对。

答案 2 :(得分:1)

str = str.subString(indexOf('=')+1); // remove "hi=" part
String[] set=str.split(",");

答案 3 :(得分:0)

我想知道:你的意思是把它分开:

"hi=bye"
"hi=hello"
"hi=goodbye"
"hi=pickle"
"hi=noodle"

因为简单的拆分(“,”)不会这样做。在给定的字符串中使用“hi =”的目的是什么?

也许,如果你的意思是从字符串的前面切下hi =,那就改为:

String input = "hi=bye,hello,goodbye,pickle,noodle";
String hi[] = input.split(",");
hi[0] = (hi[0].split("="))[1];
for (String item : hi) {
    System.out.println(item);
}