我如何在java中分离这样的字符串? 行情不是分开的。以下代码与println完全是一个字符串。我需要像输出一样将它分成令牌。
println "How are you",Sir, "Hope you are doing good","?"
注意:你之间没有空格,等等。 输出:
println
"how are you"
,
Sir
,
"Hope you are doing good"
,
"?"
答案 0 :(得分:0)
不知道它是否已经过优化,但它会给你想要的结果。
Pattern pattern = Pattern.compile("(\"[^\"]*\")|(\\w+)|(,)");
Matcher matcher = pattern.matcher(string);
while(matcher.find()){
if(matcher.group(2)!=null)
System.out.println(matcher.group(2));
if(matcher.group(1)!=null)
System.out.println(matcher.group(1));
if(matcher.group(3)!=null)
System.out.println(matcher.group(3));
}