J'ai un NSSsortingng
qui peut avoir plusieurs \ n entre la string. J'ai besoin de replace l'occurrence multiple de \ n avec un seul \ n.
J'ai essayé ce code:
newSsortingng = [ssortingng ssortingngByReplacingOccurrencesOfSsortingng:@"\n\n" withSsortingng:@"\n"];
Mais cela ne donne pas le résultat souhaité si une série de "\ n \ n \ n \ n \ n" est rencontrée dans la string. Dans ce cas, ils seront remplacés par "\ n \ n \ n".
Que dois-je faire pour que tous les \ n "" soient remplacés par "\ n"?
Merci à tous!
Mise à jour: Ajout d'une capture d'écran pour UITextView
à laquelle la string filtrée est définie en tant que text. Les nouvelles lignes semblent être plus d'une après avoir écrit le code comme suggéré par Attila H en réponse.
Vous pouvez utiliser NSRegularExpression . C'est le moyen le plus simple et le plus élégant:
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\n+" options:0 error:NULL]; NSSsortingng *newSsortingng = [regex ssortingngByReplacingMatchesInSsortingng:ssortingng options:0 range:NSMakeRange(0, [ssortingng length]) withTemplate:@"\n"];
Vous pouvez le faire de la manière suivante
NSArray *arrSplit = [s componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]]; s = [arrSplit componentsJoinedBySsortingng:@"\n"];
J'espère que cela peut vous aider ..
Vous pouvez placer ce rlocation dans une boucle jusqu'à ce que vous conserviez "\ n \ n" dans votre string.