QString:删除正则表达式的第一次出现

时间:2016-01-05 13:21:36

标签: regex qt qstring qregexp

QString的方法remove需要QRegExp。它会删除正则表达式的每次出现。

有没有办法只删除第一次出现的正则表达式?

QString replace only first occurrence的回答没有帮助。请参阅Akiva的评论。

1 个答案:

答案 0 :(得分:1)

您可以使用下一个代码:

QString message = "This is the original text";
QRegExp rx = QRegExp("is|he", Qt::CaseInsensitive);

if (message.contains(rx)){
    message = message.remove(rx.pos(0), rx.cap(0).size());
}

最后一条消息是:

Th is the original text