使用 QRegexp 从 Qt 中的字符串中删除 xml 标头

Remove xml header using QRegexp from String in Qt

本文关键字:删除 xml 标头 字符串 Qt 使用 QRegexp      更新时间:2023-10-16

我想从Qt的字符串中删除<?xml version="1.0" encoding="UTF-8" ?>为此我写了代码:

outputText.replace(QRegExp("<?xml.*??>"),""); where outputText is QString.

但是即使我也尝试使用正则表达式"\<\?xml(.+?)\?\>"这个 xml heaader 也没有删除 xml 标头,但此正则表达式不起作用,因此请让我知道有效的正则表达式,它将从字符串中删除上述 xml 标头。

尝试使用:

QRegExp("\<\?xml[^(\?\>)]*\?\>");

你必须用转义><?,而本身需要被转义,因为它是一个C/C++字符串。

有了这个,实际上您可以匹配从<?xml开始到下一个?>的所有内容。