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

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

要知道以前在C语言中js切割字符串,根本没有字符串类型,只有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; //返回值
}

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

运行正常

一次运行成功。。。

限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688