我很难弄清楚如何分割字符串,如下所示:
String str = "hi=bye,hello,goodbye,pickle,noodle
此字符串是从文本文件中读取的,我需要将字符串拆分为逗号之间的每个元素。所以无论文本文件读取什么,我都需要将每个元素拆分成自己的字符串。请记住,每个元素可以是任何长度,并且可以存在任何数量的'hi'等于的元素。有任何想法吗?谢谢!
答案 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);
}