QT 在QString中 有固定格式,如想其中特定的字符串
时间: 2024-06-11 17:07:16 浏览: 102
,可以使用QString的成员函数或者正则表达式进行搜索和提取。
1. 使用成员函数:
QString类提供了许多成员函数,可以用于查找、替换、分割字符串等操作。比如,如果想在一个QString对象中查找特定的字符串,可以使用QString的indexOf()成员函数,如下所示:
QString str = "Hello world!";
int index = str.indexOf("world");
if (index != -1) {
QString subStr = str.mid(index, 5);
qDebug() << subStr;
}
这段代码会输出"world",首先使用indexOf()函数找到"world"的位置,然后使用mid()函数提取出该子串。
2. 使用正则表达式:
如果需要匹配的字符串较为复杂,可以使用正则表达式进行匹配。在Qt中,可以使用QRegularExpression类和QRegularExpressionMatch类来进行正则表达式匹配。例如,如果想从一个字符串中提取所有数字,可以使用如下代码:
QString str = "abc123def456ghi789jkl";
QRegularExpression re("\\d+");
QRegularExpressionMatchIterator i = re.globalMatch(str);
while (i.hasNext()) {
QRegularExpressionMatch match = i.next();
qDebug() << match.captured(0);
}
这段代码会输出"123"、"456"和"789",首先使用QRegularExpression类创建一个正则表达式对象,然后使用globalMatch()函数获取一个匹配迭代器,最后使用captured()函数提取匹配的子串。
阅读全文