Je veux obtenir QString
d'un autre QString
, quand je connais les index nécessaires. Par exemple: Chaîne principale: "Ceci est une chaîne" . Je veux créer un nouveau QString
à partir des 5 premiers symboles et obtenir "This" .
entrée: premier et dernier numéro de caractère.
output: new QString
.
Comment le créer?
P.S. 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 QStringRef
. La classe QStringRef
est un wrapper en lecture seule autour d'un QString
existant qui fait référence à une sous-chaîne de la chaîne existante. Cela donne de bien meilleures performances que la création d’un nouvel objet QString
contenant la sous-chaîne. Par exemple.
QString myString("This is a string");
QStringRef subString(&myString, 5, 2); // subString contains "is"
Si vous avez besoin de modifier la sous-chaîne, alors left()
, mid()
et right()
feront ce dont vous avez besoin ...
QString myString("This is a string");
QString subString = myString.mid(5,2); // subString contains "is"
subString.append("n't"); // subString contains "isn't"
Utilisez la fonction left
:
QString yourString = "This is a string";
QString leftSide = yourString.left(5);
qDebug() << leftSide; // output "This "
Regardez aussi mid()
si vous voulez plus de contrôle.