本文介绍了如何使用QT RegExp从字符串中提取子字符串列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用QT RegExp从字符串中提取子字符串列表,例如,如果我有这个输入字符串qjkfsjkdfn 54df#Sub1#sdkf ++ sdf#Sub2#q qfsdf445#Sub3#sdf
i要获取包含Sub1Sub2Sub3使用(#。+#) RegExp。

How to extract a list of substrings from a string using QT RegExp for example, if i have this input string "qjkfsjkdfn 54df#Sub1#sdkf ++sdf #Sub2#q qfsdf445#Sub3#sdf"i want to get a list that contains "Sub1", "Sub2" and "Sub3" using "(#.+#)" RegExp.

推荐答案

您可以使用下列代码:

QRegExp rx("#([^#]+)#"); // create the regular expression
string text = "qjkfsjkdfn 54df#Sub1#sdkf ++sdf #Sub2#q qfsdf445#Sub3#sdf";
int pos = 0;
while ( (pos = rx.search(text, pos)) != -1 ) // while there is a matching substring
{
     cout << rx.cap(1); // output the text captured in group 1
}

这篇关于如何使用QT RegExp从字符串中提取子字符串列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-21 17:14