Qt的。获得QString的一部分

时间:2011-09-28 14:19:03

标签: qt substring qstring

当我知道必要的索引时,我希望从另一个QString获取QString。 例如: 主字符串:“这是一个字符串”。 我想从前5个符号创建新的QString并获取“This” 输入:第一个和最后一个字符编号。
输出:新QString

如何创建它?

P.S。不仅是前几个字母,也是来自中间的字母,例如从5到8。

2 个答案:

答案 0 :(得分:95)

如果您不需要修改子字符串,则可以使用QStringRefQStringRef类是现有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()