[英]How do I get a part of string in Qt?
我有一組滿足以下模式的字符串: sometext_number 。 因此,我總是在'_'符號后面有一個數字。 是否有方便的方法從字符串中獲取該數字,而不管其大小如何?
如果確定始終具有“ sometext_number” ,則可以測試以下解決方案:
使用QString::split()
:
QString str = "hello_1234";
int number = str.split('_').last().toInt();
使用QRegularExpression::match()
:
QString str = "world_5678";
QRegularExpression regex("\\w+_(?<number>\\d+)");
QRegularExpressionMatch m = regex.match(str);
int number = m.captured("number").toInt();
如果仍然使用QString
,則可以執行
QString s = "sometext_5";
int index = s.indexOf("_");
int number = s.mid(index+1).toInt();
您可以使用std :: find ,它返回您正在查看的元素的索引,然后在您的字符串上使用substr ,在參數中給您要停止拆分的索引
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.