Retirer caractère de saut de ligne à partir de la première ligne de NSString
Comment puis-je supprimer le premier \n caractère d'un NSString?
Edit: Juste pour préciser, ce que je voudrais faire c'est:
Si la première ligne de la chaîne de caractères contient un caractère \n, supprimer le reste ne rien faire.
c'est à dire: Si la chaîne est comme ceci:
@"\nhello, this is the first line\nthis is the second line"
et qui s'oppose à une chaîne qui ne contient pas un saut de ligne dans la première ligne:
@"hello, this is the first line\nthis is the second line."
J'espère que rend plus clair.
Votre modifier le rend effectivement la question de moins en moins claires. Sur le plan conceptuel, la "première ligne d'une chaîne", si quoi que ce soit, signifie pour moi tous les caractères jusqu'à (et y compris) le premier saut de ligne dans la chaîne. Si vous voulez dire quelque chose d'autre que qu'en "première ligne", vous pouvez avoir besoin de préciser à nouveau.
Ce que Quinn dit. Par définition, la première ligne doit contenir un retour à la ligne. Sinon, la chaîne n'a qu'une ligne.
Ce que Quinn dit. Par définition, la première ligne doit contenir un retour à la ligne. Sinon, la chaîne n'a qu'une ligne.
OriginalL'auteur Brock Woolf | 2009-06-17
Vous devez vous connecter pour publier un commentaire.
Cela devrait faire l'affaire:
OriginalL'auteur e.James
découper votre chaîne à partir de tout type de retours à la ligne, si c'est ce que vous voulez.
permettra de faire exactement ce que vous demandez, et supprimer le saut de ligne si c'est le premier caractère de la chaîne
néant == NULL == 0 en C++. néant == NULL == (void *)0 dans C. NSStringCompareOptions est typedef NSUInteger qui est de 32 bits sur les plates-formes 32 bits et 64 bits sur 64 bits plates-formes. Les littéraux entiers à la place de nommé constantes aller à l'encontre de mes sensibilités 😉
Ce n'est pas du C++. Je me rends compte que le néant est simplement défini comme égal à zéro. Xcode compilateur pour quelque raison que dans la version 3.0 vous donne un avertissement, à l'aide de 0 corrige ce. Bizarre, mais qu'est ce qui se passe.
Vous avez raison, je voudrais le convertir (NSStringCompareOptions)néant pour la recherche rapide des masques et supprimer l'avertissement. Mais 0 n'est jamais va être mauvais.
[chaîne stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]] est la droite.. Merci
OriginalL'auteur monowerker
Plutôt que de créer un NSMutableString et à l'aide de quelques conservent/rejet des appels, vous pouvez utiliser seulement à la chaîne d'origine et de simplifier le code en utilisant ce qui suit: (nécessite 10.5+)
(Voir
-stringByReplacingOccurrencesOfString:withString:options:plage:
pour plus de détails.)Le résultat de l'appel à propositions appel de méthode peut même être attribuée en toute sécurité à l'origine SI vous autorelease ce qu'il y a d'abord de sorte que vous n'avez pas de fuite de mémoire.
Excellente capture sur 10.5+ pour cette méthode, je l'avais oublié. Je suis assez chanceux de ne pas avoir à vous soucier de Tigre plus de support. 🙂
OriginalL'auteur Quinn Taylor