如何解决将逗号分隔的字符串添加到ArrayList中,反之亦然
|| 如何将逗号分隔的字符串添加到ArrayList?我的字符串“ returnedItems”可以容纳1或20个要添加到ArrayList“ selItemArrayList”的项目。 填充ArrayList之后,我想稍后对其进行遍历,并将各项格式化为逗号分隔的字符串,各项之间没有空格。解决方法
String returnedItems = \"a,b,c\";
List<String> sellItems = Arrays.asList(returnedItems.split(\",\"));
现在遍历列表并将每个项目附加到StringBuilder:
StringBuilder sb = new StringBuilder();
for(String item: sellItems){
if(sb.length() > 0){
sb.append(\',\');
}
sb.append(item);
}
String result = sb.toString();
,单线始终很受欢迎:
Collections.addAll(arrayList,input.split(\",\"));
,split
和asList
达到目的:
String [] strings = returnedItems.split(\",\");
List<String> list = Arrays.asList(strings);
,简单的一线:
selItemArrayList.addAll(Arrays.asList(returnedItems.split(\"\\\\s*,\\\\s*\")));
当然,如果您输入带有逗号的条目,则会更加复杂。
,这可以帮助:
for (String s : returnedItems.split(\",\")) {
selItemArrayList.add(s.trim());
}
//Shorter and sweeter
String [] strings = returnedItems.split(\",\");
selItemArrayList = Arrays.asList(strings);
//The reverse....
StringBuilder sb = new StringBuilder();
Iterator<String> iter = selItemArrayList.iterator();
while (iter.hasNext()) {
if (sb.length() > 0)
sb.append(\",\");
sb.append(iter.next());
}
returnedItems = sb.toString();
,如果字符串本身可以包含逗号,则情况会变得更加复杂。与其使用自己的工具,不如考虑使用许多开源CSV解析器之一。尽管它们旨在读取文件,但至少OpenCSV还将解析您提交的单个字符串。
公用CSV
打开CSV
超级CSV
OsterMiller CSV
,String csv = \"Apple,Google,Samsung\";
第一步:将逗号分隔的字符串转换为字符串数组
String[] elements = csv.split(\",\");
第二步:将String数组转换为String列表
List<String> fixedLenghtList = Arrays.asList(elements);
第三步:将固定列表复制到ArrayList
ArrayList listOfString =新的ArrayList(fixedLenghtList);
System.out.println(\"list from comma separated String : \" + listOfString);
System.out.println(\“ ArrayList的大小:\” + listOfString.size());
输出:
list of comma separated String : [Apple,Samsung]
size of ArrayList : 3
,如果未引用单个项目,则:
QString str = \"a,c\";
QStringList list1 = str.split(\",\");
// list1: [ \"a\",\"\",\"b\",\"c\" ]
如果项目用引号引起来,我将添加\“ [] \”字符并使用JSON解析器。
,您可以对String使用split()
方法将String转换为可以循环通过的数组。
尽管您也许可以使用正则表达式跳过循环和解析,以使用String上的replaceAll()删除空格。
,String list = \"one,two,three,four\";
String[] items = list.split(\"\\\\p{Punct}\");
List<String> aList = Arrays.asList(items);
System.out.println(\"aList = \" + aList);
StringBuilder formatted = new StringBuilder();
for (int i = 0; i < items.length; i++)
{
formatted.append(items[i].trim());
if (i < items.length - 1) formatted.append(\',\');
}
System.out.println(\"formatted = \" + formatted.toString());
,import com.google.common.base.*;
Iterable<String> items = Splitter.on(\",\").omitEmptyStrings()
.split(\"Mango,Apple,Guava\");
// Join again!
String itemsString = Joiner.join(\",\").join(items);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。