我的QRegExp有问题。这是我的源代码。我希望删除"Re:"
和"Fwd:"
子字符串:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QRegExp>
#include <iostream>
using namespace std;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QString s = "Fwd: Re: my subject line";
cout << "original string: " << s.toLatin1().data() << endl;
QRegExp rx("\\b(Re:|Fwd:)\\b");
rx.setCaseSensitivity(Qt::CaseInsensitive);
s.replace(rx,"");
cout << "replaced string: " << s.toLatin1().data() << endl;
}
它不工作。输出:
original string: Fwd: Re: my subject line
replaced string: Fwd: Re: my subject line
如果我删除RegExp中的':'
字符,子字符串"Re"
和"Fwd"
将被删除,但':'
字符仍保留在文本中。
如何设置regexp表达式以从文本中删除"Re:"
和"Fwd:"
子字符串?
2条答案
按热度按时间zpf6vheq1#
\b
只适用于\w
类型,因此实际上可以编写或
ruarlubt2#
我找到了解决办法。
输出为: