Java提取字符串的一部分

时间:2013-04-14 21:34:01

标签: java string extract

我想从以下字符串中提取值0.81,但我不知道如何。使用JSON不起作用,因为据我所知,它不是正确的JSON代码。

  

[{ “外接矩形框”:{ “尺寸”:{ “高度”:239.23, “宽度”:239.23}, “TL”:{ “Y”:46.15, “×”:166.92}}, “姓名” : “152:0.81,”, “信任”:0.9}]

你知道怎么做吗?

2 个答案:

答案 0 :(得分:1)

如果这是JSON,它似乎是一个JSON对象和

JSONArray jsonArray = new JSONArray(thatString);
JSONObject jObj = jsonArray.getJSONObject(0);
String name = jObj.getString("name");

然后会给你一个字符串“152:0.81”,这是一个奇怪的名字 - 然而我会把它分开:

String[] tokens = name.split(":");

令牌[0]将为152

令牌[1]将为0.81,

答案 1 :(得分:0)

它实际上是有效的Json,因此您可以使用Json库(其中任何一个),将Json加载到Object并访问该值 - 如果您在将此加载到Object时遇到问题,也许您可​​以更改问题并告诉我们错误?

如果您有可能获得不是有效Json的回复,您可以使用正则表达式:

如果你总是有相同的模式,比如:

\"name\":\"\d+:(\d\.\d+),\" 

你的价值在于捕捉第一组。

如果您不确定如何在Java中使用正则表达式,只需搜索SO或Google,就会有大量示例。