我想从另一个QString
得到QString
,当我知道必要的索引。 例如: 主要字符串:“这是一个字符串”。 我想从前5个符号创建新的QString
,并获得“This”。
输入:第一个和最后一个字符数。
输出:新QString
。Qt。得到部分QString
如何创建它?
P.S.不仅前几个字母,也从线的中间,例如从5至8
我想从另一个QString
得到QString
,当我知道必要的索引。 例如: 主要字符串:“这是一个字符串”。 我想从前5个符号创建新的QString
,并获得“This”。
输入:第一个和最后一个字符数。
输出:新QString
。Qt。得到部分QString
如何创建它?
P.S.不仅前几个字母,也从线的中间,例如从5至8
使用left
功能:
QString yourString = "This is a string";
QString leftSide = yourString.left(5);
qDebug() << leftSide; // output "This "
也看看mid()
如果你想要更多的控制。
如果您不需要修改子字符串,那么您可以使用QStringRef
。 QStringRef
类是现有QString
的只读包装,它引用现有字符串中的子字符串。这比创建一个新的包含子字符串的QString
对象的性能要好得多。例如。
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"
在你的第二个例子,你可以这样做: QStringRef串的myString = .midRef(5,2); – Keith
@Keith好点,尽管你不能修改QStringRef。 – Alan
请注意,使用'QStringRef'是一个带有额外复杂性的优化。除非你正在进行繁重的字符串操作,并且实际上你会从优化中受益(在大多数情况下,你不会),使用'QString'更安全更简单。 –