【问题标题】:Java dealing with commas in stringsJava处理字符串中的逗号
【发布时间】: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 的列表?

标签: java arrays string linked-list comma


【解决方案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()
猜你喜欢
  • 2022-06-25
  • 2017-08-24
  • 1970-01-01
  • 1970-01-01
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多