我想從另一個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'更安全更簡單。 –