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

时间:2014-02-28 06:41:38

标签: java regex string

我有一个像{"product_tags":"yin_yang,yin yang"}这样的字符串。 我想做的就是除了 yin yang 之外的其他一切。有两个字符串,但我只想要第一个。

请注意,在某些情况下,即使第二个字符串不可用,我也希望获得相同的结果。并且该字符串可能会发生变化,因此字符串不一定是yin_yang,有时它可能是motorbike或其他任何内容。

2 个答案:

答案 0 :(得分:1)

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

JSONObject jobject=new JSONObject(STRING);
String value=jobject.getString("product_tags");

EDITED

使用REGEX

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

答案 1 :(得分:0)

您可以使用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);
}