Java处理字符串中的逗号
Posted
技术标签:
【中文标题】Java处理字符串中的逗号【英文标题】:Java dealing with commas in strings 【发布时间】:2016-11-10 17:37:32 【问题描述】:我有固定的字符串,例如:
KEY(1,One,Two,Three,table1)
KEY(1,Cat,Dog,Bat,Rabbit,table2)
KEY(1,Go,Do,table3)
我知道固定的部分是:
前四个字符(直到 ,) 最后三个我有兴趣只获取这两个部分中不带逗号的单词并将其存储在 LinkedList 中。 例如:猫狗蝙蝠兔,或一二三。
有没有一种简单的方法可以去掉逗号并将所有值存储在 LinkedList 中?
【问题讨论】:
到目前为止您尝试过什么吗?有代码吗? 使用字符串函数 .split(",") 将返回逗号之间的值数组。请注意, .split(",")[0] 将返回 KEY(1 而不是 1 构建一个正则表达式来提取中间字符串,然后使用split函数。str.split(",")
将提供 L 个条目的数组(索引从 0 到 L-1),由 ',' 字符分隔(例如:KEY(1
、One
、Two
,Three
,table1)
为您的第一行)。抓取[1, L-2]
范围内的条目将为您提供所需的内容。
您想要单个链表Cat Dog Bat Rabbit One Two Three
中的所有值还是每个键Cat Dog Bat Rabbit
和One Two Three
的列表?
【参考方案1】:
List<String> list = new LinkedList<>();
for (String key : keys)
String[] array = key.split(",");
for (int i=1; i<array.length-1; i++)
list.add(array[i].trim());
或
List<String> tmpList = Arrays.asList(str.split(","))
List<String> list = new LinkedList<>(tmpList.sublist(1, tmpList.size()-1));
【讨论】:
使用 Arrays.asList()以上是关于Java处理字符串中的逗号的主要内容,如果未能解决你的问题,请参考以下文章