我有一组满足以下模式的字符串:sometext_number。因此,我总是在'_'符号后面有一个数字。是否有方便的方法从字符串中获取该数字,而不管其大小如何?
如果确定始终具有“ sometext_number”,则可以测试以下解决方案:
QString str = "hello_1234";
int number = str.split('_').last().toInt();
Run Code Online (Sandbox Code Playgroud)
使用QRegularExpression::match():
QString str = "world_5678";
QRegularExpression regex("\\w+_(?<number>\\d+)");
QRegularExpressionMatch m = regex.match(str);
int number = m.captured("number").toInt();
Run Code Online (Sandbox Code Playgroud)