QT解析URL形成QString?

时间:2014-05-08 11:31:26

标签: qt

我有一个包含以下内容的QString:

<img class="openFile" data-id="../uploads/536b5621d91df1.76481105.png" src="../uploads/536b5621d91df1.76481105.png" />
iOS Simulator Screen shot 7 apr 2014 15.32.12.png

如何在src=""内提取最新内容?

2 个答案:

答案 0 :(得分:1)

这个答案可以帮到你:https://stackoverflow.com/a/12432788/1221512

所以你的代码应该是这样的:

QString data("<img class=\"openFile\" data-id=\"../uploads/536b5621d91df1.76481105.png\" src=\"../uploads/536b5621d91df1.76481105.png\" /> iOS Simulator Screen shot 7 apr 2014 15.32.12.png");
QString extractedData = data.section("src=\"",1).section("\"",0,0);

另外,我可以建议将正则表达式与QString::filter()结合使用吗?

http://qt-project.org/doc/qt-4.8/qstringlist.html#filter

http://qt-project.org/doc/qt-5/QRegExp.html

答案 1 :(得分:0)

您可以使用QString :: indexOf返回第一次出现的字符串的索引位置。检索开始和结束的索引后,您可以通过QString :: mid:

获取文本
int index1= str.indexOf ( "src=\"", 0);
index1+=5;

int index2 = str.indexOf("\"",index1);

QString src = str.mid(index1,index2-index1);