首页| 论坛| 消息

标题:Qt的正则表达式怎么用?
作者:纹枰老妖
日期:2021-01-14 18:40
内容:

有一堆原始字符串,我想替换掉里面的某些字符串,要求:把所有大写字母之间的连续空格,都换成一个空格即可。比如原始字符串【ABCD XYZ】,经过处理变成【ABCD XYZ】就好,我使用的是正则表达式【\s+】,处理后字符串变成【ABC YZ】,空格确实变成一个,但可惜正则还把那个D和X都去掉了,这就不行了,请问我应该如何改那个正则表达式,才能真正成功呢?

请注意:只替换两边都是大写字母之间的空格,像【ABCD xYZ】这种原始字符串,就不需要处理,因为右边的是小写字母。


#1 [yangbaolin 01-15 16:22]
   QString raw = "ABCD       XYZ";
    raw = raw.replace(QRegExp("()\\s+()"), "\\1 \\2");
    qDebug()
#2 回 yangbaolin 的帖子 [纹枰老妖 01-21 15:33]
yangbaolin:   QString raw = "ABCD       XYZ";
    raw = raw.replace(QRegExp("()\\s+()"), "\\1 \\2");
    qDebug()

回复 发表
主题 版块