我有困难的时候搞清楚如何分割像一个字符串以下内容:的Java:字符串分割成多元素
String str = "hi=bye,hello,goodbye,pickle,noodle
这个字符串是从一个文本文件中读取,我需要拆分字符串插入逗号之间的每个元素。所以我需要将每个元素分割成它们自己的字符串,而不管文本文件是什么。请记住,每个元素可以是任意长度,并且可以有任何数量的“hi”等于的元素。有任何想法吗?谢谢!
我有困难的时候搞清楚如何分割像一个字符串以下内容:的Java:字符串分割成多元素
String str = "hi=bye,hello,goodbye,pickle,noodle
这个字符串是从一个文本文件中读取,我需要拆分字符串插入逗号之间的每个元素。所以我需要将每个元素分割成它们自己的字符串,而不管文本文件是什么。请记住,每个元素可以是任意长度,并且可以有任何数量的“hi”等于的元素。有任何想法吗?谢谢!
使用split!
String[] set=str.split(",");
然后访问每个字符串作为你组需要[...](所以,让我们看看第三根弦,你会说:请将[2])。
作为一个测试,你可以全部打印出来:
for(int i=0; i<set.length;i++){
System.out.println(set[i]);
}
我想知道:你的意思是将其分割为这样:
"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);
}
是的,我很确定他/她正在寻找什么,尽管我没有走得那么远,因为拆分可以在开始时再次使用,并且将字符串组合起来应该相对容易。无论如何,看起来很难分开字符串,而不是对所有字符串应用“hi =”。 – 2012-04-13 19:29:46
,我建议番石榴的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(",");
代码已更正。 – sarwar026 2012-04-14 17:31:46
或使用'Arrays.toString(套)'[测试] – amit 2012-04-13 19:24:36
分裂是伟大的,因为你可以使用正则表达式。例如: str.split(“,\\ s *”) 该代码将在每个逗号和零个或多个(*)空格中拆分源字符串(str)。 – 2012-04-13 19:25:39
谢谢!我不敢相信我以前从来没有听说过这种方法......谢谢! – MrDrProfessorTyler 2012-04-13 19:25:54