【问题标题】:how to tokenize string with split() in java? [duplicate]如何在 java 中使用 split() 标记字符串? [复制]
【发布时间】:2014-05-03 17:27:42
【问题描述】:

我需要标记这个字符串。

AddItem rt456 4  12 BOOK "File Structures" "Addison-Wesley" "Michael Folk"

我需要

"AddItem","rt456","12","BOOK","File Structures","Addison-Wesley","Michael Folk" 

子字符串。如何使用 split() 获取这些令牌?

【问题讨论】:

  • 真的吗,split?为什么要让生活复杂化?简单的模式/匹配器不是更简单吗?您也可以为此编写自己的简单解析器。

标签: java string tokenize


【解决方案1】:
List<String> list = new ArrayList<String>();
Matcher m = Pattern.compile("([^\"]\\S*|\".+?\")\\s*").matcher(str);
while (m.find())
    list.add(m.group(1));

输出:

[AddItem, rt456, 4, 12, BOOK, "File Structures", "Addison-Wesley", "Michael Folk"]

【讨论】:

  • @user3460845:使用replaceAll("\"", "");
猜你喜欢
  • 2023-03-11
  • 1970-01-01
  • 2014-05-16
  • 1970-01-01
  • 2010-10-07
  • 2018-05-07
  • 2013-11-14
  • 2018-06-13
相关资源
最近更新 更多