当我知道必要的索引时,我希望从另一个QString
获取QString
。
例如:
主字符串:“这是一个字符串”。
我想从前5个符号创建新的QString
并获取“This”
输入:第一个和最后一个字符编号。
输出:新QString
。
如何创建它?
P.S。不仅是前几个字母,也是来自中间的字母,例如从5到8。
答案 0 :(得分:95)
如果您不需要修改子字符串,则可以使用QStringRef
。 QStringRef
类是现有QString
的只读包装器,它引用现有字符串中的子字符串。这比创建包含子字符串的新QString
对象提供了更好的性能。 E.g。
QString myString("This is a string");
QStringRef subString(&myString, 5, 2); // subString contains "is"
如果您确实需要修改子字符串,那么left()
,mid()
和right()
将会满足您的需求......
QString myString("This is a string");
QString subString = myString.mid(5,2); // subString contains "is"
subString.append("n't"); // subString contains "isn't"
答案 1 :(得分:42)
使用left
功能:
QString yourString = "This is a string";
QString leftSide = yourString.left(5);
qDebug() << leftSide; // output "This "
如果您想要更多控制权,请查看mid()
。