Qt正则表达式 如何得到字符串中所有满足条件的字符。这个正则为什么匹配不成功

Qt正则表达式 如何得到字符串中所有满足条件的字符。这个正则为什么匹配不成功,第1张

问题在两个小括号上,两个括号都去掉,a href=+</a></li>可以连标签一起匹配,不想匹配标签则这样:a href=(+)</a></li>

QString 好像没有判断一个字符里是否有数字,但可以自己实现一个

  判断一个字符串是否有数字 
  /  
int hadInt(QString src)  
{  
    int i = 0;
    QByteArray ba = srctoLatin1();//QString 转换为 char  
     const char s = badata();  
     
    while(s++)
    {
         i++;
        if ('0' <= s || '9' > s)  
        { //出现数字返回数字位置
            return i ;  
        }  
      }
     //无数字
      return -1;
           
}

c语言字符串包含字符个数, 可以用 strlen() 测定字符串长度,用 sizeof() 测定字符串占用内存多少字节。
c语言字符串中,可以含有 “转义字符”(escape sequence),
例如: \r \n \t \\ 八进制数码 \0123 十六进制数码 \xab, 不可见字符串结束符 \0 等。
所以不能以打字时按了几次键,或一个字符一个字符地去数,那样判断。
程序例子,判断 "abc\0123\xab\n" 的字符串长度和占用内存多少字节:
#include <stdioh>
int main()
{
char s[]="abc\0123\xab\n";
printf("%d %d\n",strlen("abc\0123\xab\n"),sizeof("abc\0123\xab\n")); //方法一
printf("%d %d\n",strlen(s),sizeof(s)); //方法二
return 0;
}
输出
7 8 //方法一,用字符串常量。
7 8 //方法二,用字符串变量s。

qt判断字符串全部都是空格:ok=1;//先设置全是空格为真
i=0;//字符串开始
while(s[i])//循环每一个字符
if (s[i]!=32){
ok=0;//非空格
break;
}
if (ok) puts("全是空格");
else puts("有空格之外的字符");

QT中关于QString用法有:

1、获取子字符串在字符串中的位置。

(1)indexOf():返回此字符串中第一次出现的字符串str的索引位置,从索引位置向前搜索。如果找不到str,则返回-1。

(2)lastIndexOf()函数:返回字符串的最后一次出现的索引。

2、字符串的追加和组合。

(1)二元 *** 作符“+”用来组合两个字符串,“+=”可以用于字符串的追加。

(2)QString::append()函数,具有与“+=” *** 作符同样的功能,实现字符串末尾追加另一个字符串。

(3)组合字符串的另一个函数是QString::sprintf(),此函数支持的格式定义和C++库中的函数sprintf()定义一样。

3、字符串相互转换。

(1)数字转换为字符串,使用静态函数QString::number():

(2)字符串转换为数字,常用的有toInt(),toLongLong(),toDouble()等等

4、提取字符串。

(1)中间截取mid(intposition,intn=-1)函数用于返回一个字符串,如果目标字符串包含从指定的位置索引开始的n个字符,则返回指定位置开始的由n个字符组成的字符串;如果位置索引超过了字符串的长度,则返回空字符串。

(2)左边截取left()函数返回最前面的n个字符,右边截取right()函数返回最后的n个字符。

5、判断字符串是否包含。

(1)isEmpty函数用于判断字符串是否为空,并返回判断结果。

(2)isNull效果和isEmpty类似,如果该字符串为空,则返回true;否则返回false。

扩展资料:

QString和C标准中的字符串不同,C++原生提供两种字符串: 传统的C风格以’\0’结尾的字符数组和std::string类。与这些不同,QString使用16-bit Unicode值。

当使用QString时,不必 *** 心如此隐秘的细节,像分配足够的内存或者是数据是’\0’结尾的。 总的来说,QString可以被认为是一个QChar向量。一个QString能嵌入’\0’字符。 length()函数返回整个字符串大小,包括嵌入的’\0’。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13402185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存