我很难弄清楚如何拆分如下字符串:
String str = "hi=bye,hello,goodbye,pickle,noodle
该字符串是从文本文件中读取的,我需要将字符串拆分为逗号之间的每个元素。因此,无论文本文件读取什么内容,我都需要将每个元素拆分为自己的字符串。请记住,每个元素可以是任意长度,并且可以有任意数量的 'hi' 等于的元素。有任何想法吗?谢谢!
使用拆分!
String[] set=str.split(",");
然后根据需要从 set[...] 访问每个字符串(假设您想要第三个字符串,您会说:set[2])。
作为测试,您可以将它们全部打印出来:
for(int i=0; i<set.length;i++){
System.out.println(set[i]);
}
如果您需要更高级的方法,我建议使用番石榴的Splitter类:
Iterable<String> split = Splitter.on(',')
.omitEmptyStrings()
.trimResults()
.split(" bye,hello,goodbye,, , pickle, noodle ");
这将消除前导或尾随空格并省略空白匹配。该类中有一些更酷的东西,例如将您的字符串拆分为键/值对。
str = str.subString(indexOf('=')+1); // remove "hi=" part
String[] set=str.split(",");
我想知道:你的意思是这样拆分它:
"hi=bye"
"hi=hello"
"hi=goodbye"
"hi=pickle"
"hi=noodle"
因为一个简单的 split(",") 不会这样做。在给定字符串中包含“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);
}