84 votes

Qt. obtenir une partie de QString

Je veux obtenir de l' QString à partir d'un autre QString, quand je sais index. Par exemple: La chaîne principale: "Ceci est une chaîne". Je veux créer de nouveaux QString à partir de 5 premiers symboles et d'obtenir "Ce ".
en entrée :le premier et le dernier numéro char.
sortie : nouveau QString.

Comment le créer ?

P. S. Non seulement les premières lettres, aussi à partir du milieu de la ligne, par exemple de 5 à 8.

123voto

Alan Points 925

Si vous n'avez pas besoin de modifier la sous-chaîne, vous pouvez utiliser QStringRef. Le QStringRef classe est une lecture que l'wrapper autour d'un existant QString qui fait référence à une sous-chaîne dans la chaîne existante. Cela donne de bien meilleures performances que de créer un nouveau QString objet contient la sous-chaîne. E. g.

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() à faire 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"

53voto

this.lau_ Points 23290

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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X