Je veux obtenir QSsortingng
d’un autre QSsortingng
, quand je connais les index nécessaires. Par exemple: Chaîne principale: “Ceci est une chaîne” . Je veux créer un nouveau QSsortingng
partir des 5 premiers symboles et obtenir “This” .
input: premier et dernier numéro de caractère.
sortie: nouvelle QSsortingng
.
Comment le créer?
PS Non seulement plusieurs premières lettres, également du milieu de la ligne, par exemple de 5 à 8.
Si vous n’avez pas besoin de modifier la sous-chaîne, vous pouvez utiliser QSsortingngRef
. La classe QSsortingngRef
est un wrapper en lecture seule autour d’une QSsortingng
existante qui référence une sous-chaîne dans la chaîne existante. Cela donne de bien meilleures performances que la création d’un nouvel object QSsortingng
pour contenir la sous-chaîne. Par exemple
QSsortingng mySsortingng("This is a ssortingng"); QSsortingngRef subSsortingng(&mySsortingng, 5, 2); // subSsortingng contains "is"
Si vous devez modifier la sous-chaîne, alors left()
, mid()
et right()
feront ce dont vous avez besoin …
QSsortingng mySsortingng("This is a ssortingng"); QSsortingng subSsortingng = mySsortingng.mid(5,2); // subSsortingng contains "is" subSsortingng.append("n't"); // subSsortingng contains "isn't"
Utilisez la fonction left
:
QSsortingng yourSsortingng = "This is a ssortingng"; QSsortingng leftSide = yourSsortingng.left(5); qDebug() << leftSide; // output "This "
Regardez aussi mid()
si vous voulez plus de contrôle.