簡體   English   中英

java復雜的字符串解析

[英]java complicated string parsing

我需要最有效的方法來解析以下字符串,並使用java從中提取imgurl

{ms:"images,5160.1",
turl:"http://ts1.mm.bing.net/th?id=I4693880201938488&pid=1.1",
height:"178",width:"300",
imgurl:"http://www.attackingsoccer.com/wp-content/uploads/2011/07/World-Cup-2012-Draw.jpg",
offset:"0",t:"World Cup 2014 Qualification – Europe Draw World Cup 2012 Draw ...",
w:"719",h:"427",ff:"jpeg",
fs:"52",durl:"www.attackingsoccer.com/2011/07/world-cup-2012-qualification-europe...",
surl:"http://www.attackingsoccer.com/2011/07/world-cup-2012-qualification-europe-draw/world-cup-2012-draw/",
mid:"D9E91A0BA6F9E4C65C82452E2A5604BAC8744F1B",k:"6",ns:"API.images"}"

對於上述字符串,輸出應為:

http://www.attackingsoccer.com/wp-content/uploads/2011/07/World-Cup-2012-Draw.jpg

任何幫助表示贊賞。

謝謝!

好像是JSON消息。 您可以使用例如GSON將其轉換為POJO。

這是JSON格式。 找到一個處理JSON數據的解析器,然后從那里開始。

String str = YOUR STRING;
String startStr = "imgurl:¥"";
String endStr = ".jpg";

String value = str.subString(str.indexOf(startStr) + startStr.length , str.indexOf(endStr) + endStr.length);

您還可以使用PatternMatcher

String string = "something....,imgurl=\"blabla\",somethinother";
Pattern p = Pattern.compile(",imgurl=\"[^\"]*\",");
Matcher m = p.matcher(string);
m.find();
String result = m.group().subSequence(1, m.group().length() - 1).toString();

即使字符串中還有其他位置出現“ imgurl:”或“ .jpg”文本,這也將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM