查看完整版本: [-- Qt的正则表达式怎么用? --]

QTCN开发网 -> Qt基础编程 -> Qt的正则表达式怎么用? [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

纹枰老妖 2021-01-14 18:40

Qt的正则表达式怎么用?

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


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

yangbaolin 2021-01-15 16:22
   QString raw = "ABCD       XYZ";
    raw = raw.replace(QRegExp("([A-Z])\\s+([A-Z])"), "\\1 \\2");
    qDebug()<<raw;//"ABCD XYZ"

纹枰老妖 2021-01-21 15:33
yangbaolin:   QString raw = "ABCD       XYZ";
    raw = raw.replace(QRegExp("([A-Z])\\s+([A-Z])"), "\\1 \\2");
    qDebug()<<raw;//"ABCD XYZ" (2021-01-15 16:22) 

谢谢您,我会用了


查看完整版本: [-- Qt的正则表达式怎么用? --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled