龙空技术网

QT学习:QString、访问剪贴板、正则表达式提取URL

老赵和他的 241

前言:

现时各位老铁们对“js正则截取字符串中字母”大约比较珍视,看官们都需要了解一些“js正则截取字符串中字母”的相关内容。那么小编同时在网络上网罗了一些有关“js正则截取字符串中字母””的相关内容,希望朋友们能喜欢,各位老铁们一起来学习一下吧!

很高兴,Qt中有QString类,这让在C/C++中使用字符串变得十分的方便(以前在BCB中用过AnsiString,也十分好用)。

在经过搜索得知了QString的方法后,更加的高兴了,这货简直是集PHP和JS的字符串于一身啊,各种操作各种姿势随便用啊。爽。

要知道以前在C语言中,根本没有字符串类型,只有char*这个指针或者char[]数组。而要复制、对比、截取、查询字符串,都要用相应的函数,体验糟透了。

然后就是访问剪贴板了,查了一下,过分的简单:

设置剪贴板的内容

QClipboard *clipboard = QApplication::clipboard();clipboard->setText("contents");

获取剪贴板的内容

QClipboard *clipboard = QApplication::clipboard();lineEdit->setText(clipboard->text());

很好很强大。

然后则是使用正则表达式从字符串中提取URL了,不多说,直接放代码:

/** * 从字符串里提取出第一个出现的网址来 * @brief matchHttpUrl * @param str * @return urlstring */QString matchHttpUrl(QString str){    QString ret = "";   //返回值,初始化为空。    //正则表达式    QRegularExpression re("http[s]{0,1}://[\\w.]*\\w+[/\\w+]*");    //正则表达式匹配结果    QRegularExpressionMatch match=re.match(str);    if(match.hasMatch()) //如果有匹配结果    {        //用循环把匹配结果拼接起来,匹配结果里是一段一段的,并不是完整的结果字符串        foreach(auto m, match.capturedTexts())        {            ret.append(m);  //将子结果连接到字符串末尾        }    }   return ret; //返回值}

将上面代码放入工程里,调试一下:

运行正常

一次运行成功。。。

标签: #js正则截取字符串中字母