Java 拆分字符串并使用正则表达式从复杂字符串中获取值

Java 拆分字符串并使用正则表达式从复杂字符串中获取值,java,regex,string,Java,Regex,String,我有这样一个字符串{“产品标签”:“阴阳,阴阳”}。 我想做的就是避开阴阳之外的一切。有两个字符串,但我只想要第一个 注意,在某些情况下,即使第二个字符串不可用,我也希望得到相同的结果。而且该字符串可能会更改,因此不必总是阴阳,有时它可以是摩托车或其他任何东西。它看起来像是java中使用的JSON字符串 编辑 使用正则表达式 String json="{\"product_tags\":\"yin_yang,yin yang\"}"; json=json.replaceAll("([{

我有这样一个字符串
{“产品标签”:“阴阳,阴阳”}
。 我想做的就是避开阴阳之外的一切。有两个字符串,但我只想要第一个


注意,在某些情况下,即使第二个字符串不可用,我也希望得到相同的结果。而且该字符串可能会更改,因此不必总是
阴阳
,有时它可以是
摩托车
或其他任何东西。

它看起来像是java中使用的JSON字符串

编辑

使用正则表达式

 String json="{\"product_tags\":\"yin_yang,yin yang\"}";
    json=json.replaceAll("([{}]+)", "");
    String value[]=json.split(":");
    System.out.print(value[1]);

您可以使用StringTokenizer来解析字符串

String str ="{\"product_tags\":\"yin_yang,yin yang\"}";
StringTokenizer to = new StringTokenizer(str,":}");
while(to.hasMoreTokens()){
    String firstString = (String) to.nextElement();
    String secondString = (String) to.nextElement();
System.out.print(secondString);
}

请注意,在某些情况下,即使第二个字符串不可用,我也希望得到相同的结果。而且该字符串可能会更改,因此不必总是阴阳字符串,有时可能是摩托车或其他任何东西。这不清楚,您需要某种方法将
{“产品标签”:“xxxxxxxx,阴阳”}
转换为“xxxxxxxx”你想要第一个字符串或第二个字符串在
之后:
是的,你是currect我想要第一个是xxxxxxxx,这个字符串也可以是{“产品标签”:“yin_-yang”}?抱歉,mate,它不是json字符串,也不是json数组。。它只是数据库中一列中的一个值。我想从数据库中获取该值,但需要避免后面的字符串以外的所有其他字符串:@sarath yes,that'ok。
new JSONObject()
将创建
JSONObject()
来对其进行类型转换。@sarath使用此代码可以得到类似的值。regex可能不准确。@sarath我已使用regexsecondString更新了我的答案,无法访问while循环的大小;
String str ="{\"product_tags\":\"yin_yang,yin yang\"}";
StringTokenizer to = new StringTokenizer(str,":}");
while(to.hasMoreTokens()){
    String firstString = (String) to.nextElement();
    String secondString = (String) to.nextElement();
System.out.print(secondString);
}