Java 如何轻松解析字符串中双引号内的所有表达式?

Java 如何轻松解析字符串中双引号内的所有表达式?,java,string,split,Java,String,Split,我有一个字符串,类似于[“first”“second”“third”] 有没有一种简单的方法可以将引号中的所有表达式作为字符串数组获取 我知道我可以一个字符一个字符地解析它,但也许有一种更简单的方法可以做到这一点 令人惊讶的是,谷歌没有给我任何解决方案。这样就可以了: String[] terms = str.replaceAll("^.*?\"|\"[^\"]*$", "").split("\"\\s+\""); 这是通过首先删除第一个和最后一个引号以及引号和结尾之间的所有字符(通过调用re

我有一个字符串,类似于
[“first”“second”“third”]

有没有一种简单的方法可以将引号中的所有表达式作为字符串数组获取

我知道我可以一个字符一个字符地解析它,但也许有一种更简单的方法可以做到这一点

令人惊讶的是,谷歌没有给我任何解决方案。

这样就可以了:

String[] terms = str.replaceAll("^.*?\"|\"[^\"]*$", "").split("\"\\s+\"");
这是通过首先删除第一个和最后一个引号以及引号和结尾之间的所有字符(通过调用
replaceAll()
)来实现的,然后在引号上拆分空白引号,只留下您想要的内容


一些测试代码:

String str = "[\"first\" \"second\" \"third\"] ";
String[] terms = str.replaceAll("^.*?\"|\"[^\"]*$", "").split("\"\\s+\"");
System.out.println(Arrays.toString(terms));
输出:

[first, second, third]

请参考,但这会给我一些不需要的元素,如{“[”,“first”,“…..etcThanx!您能对split()部分做一点解释吗?