NSSsortingng remplace les nouvelles lignes répétées par une nouvelle ligne simple

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. entrez la description de l'image ici

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.