本文介绍了如何使用QT RegExp从字符串中提取子字符串列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用QT RegExp从字符串中提取子字符串列表,例如,如果我有这个输入字符串qjkfsjkdfn 54df#Sub1#sdkf ++ sdf#Sub2#q qfsdf445#Sub3#sdf
i要获取包含Sub1
,Sub2
和Sub3
使用(#。+#)
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从字符串中提取子字符串列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!