2014-03-25 29 views
-1

我需要标记这个字符串。如何在java中使用split()标记字符串?

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

我需要

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

子。我如何使用split()获得这些标记?

+0

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

回答

0
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"] 
+0

@ user3460845:使用'replaceAll(“\”“,”“);' – Brian

相关问题