簡體   English   中英

如何在Qt中獲取字符串的一部分?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM