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(1OneTwoThreetable1) 为您的第一行)。抓取[1, L-2] 范围内的条目将为您提供所需的内容。 您想要单个链表Cat Dog Bat Rabbit One Two Three 中的所有值还是每个键Cat Dog Bat RabbitOne 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处理字符串中的逗号的主要内容,如果未能解决你的问题,请参考以下文章

Java:拆分逗号分隔的字符串但忽略引号中的逗号

java中如何将字符数组转换成字符串,以逗号分割

Java如何将拼接字符串中的最后一个逗号去掉

java中如何将字符数组转换成字符串,以逗号分割

如何使用Java为列表中的每个字符串添加或插入'(单引号),其中字符串用逗号分隔

javascript 如何截取两个逗号之间的字符串