使用 QRegexp 从 Qt 中的字符串中删除 xml header
Remove xml header using QRegexp from String in Qt
我想从 Qt 中的字符串中删除 <?xml version="1.0" encoding="UTF-8" ?>
为此,我编写了代码:
outputText.replace(QRegExp("<\?xml.*?\?>"),""); where outputText is QString.
但是 xml header 没有被删除,即使我也尝试使用正则表达式 "\<\?xml(.+?)\?\>"
对于这个 xml heaader 但是这个正则表达式不起作用所以请告诉我将从字符串中删除上述 xml header 的有效正则表达式。
尝试使用:
QRegExp("\<\?xml[^(\?\>)]*\?\>");
您将不得不使用 \
转义 >
、<
、?
,它本身需要被 \
转义才能成为 C/C++ 字符串.
实际上,您可以匹配从 <?xml
开始到下一个 ?>
的所有内容。
我想从 Qt 中的字符串中删除 <?xml version="1.0" encoding="UTF-8" ?>
为此,我编写了代码:
outputText.replace(QRegExp("<\?xml.*?\?>"),""); where outputText is QString.
但是 xml header 没有被删除,即使我也尝试使用正则表达式 "\<\?xml(.+?)\?\>"
对于这个 xml heaader 但是这个正则表达式不起作用所以请告诉我将从字符串中删除上述 xml header 的有效正则表达式。
尝试使用:
QRegExp("\<\?xml[^(\?\>)]*\?\>");
您将不得不使用 \
转义 >
、<
、?
,它本身需要被 \
转义才能成为 C/C++ 字符串.
实际上,您可以匹配从 <?xml
开始到下一个 ?>
的所有内容。