如何使用多个分隔符分隔 java 中的字符串并且没有可用的白色 space?

How to separate a string in java using multiple delimiters and with no white space available?

如何在 java 中分隔这样的字符串? 报价不是分开的。下面的代码完全是一个字符串连同 println。我需要像输出中那样将它分成标记。

println "How are you",Sir, "Hope you are doing good","?"

注意:" 和 , 等等之间没有空格.. 输出:

println
"how are you"
,
Sir
,
"Hope you are doing good"
,
"?"

不知道它是否经过优化,但它会给出您想要的结果。

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));
        }