J'ai un NSSsortingng
comme ceci:
Hello World of Twitter Lets See this >
Je veux le transformer en:
Bonjour le monde de Twitter Lets Voir ceci>
Comment puis-je faire ceci? J'utilise Objective-C sur un iPhone.
Divisez la string en composants et joignez-les par espace:
NSSsortingng *newSsortingng = [[mySsortingng componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]] componentsJoinedBySsortingng:@" "];
Diviser la string en composants et les join est une façon très longue de le faire. Moi aussi j'utilise la même méthode que Paul a mentionnée. Vous pouvez replace n'importe quelle occurrence de string. En plus de ce que Paul a dit, vous pouvez replace les caractères de nouvelle ligne par des espaces comme celui-ci:
mySsortingng = [mySsortingng ssortingngByReplacingOccurrencesOfSsortingng:@"\n" withSsortingng:@" "];
j'utilise
[...] mySsortingng = [mySsortingng ssortingngByReplacingOccurrencesOfSsortingng:@"\n\n" withSsortingng:@"\n"]; [...]
/Paul
Mon dossier contient également \r
, y compris \n
, [NSCharacterSet newlineCharacterSet]
ne fonctionne pas, à la place, en utilisant
htmlContent = [htmlContent ssortingngByReplacingOccurrencesOfSsortingng:@"[\r\n]" withSsortingng:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, htmlContent.length)];
résolu mon problème.
Btw, \\s
supprimera tous les espaces blancs, ce qui n'est pas prévu.
Fournir une version 3.0 rapide de la réponse de @hallski ici:
self.content = self.content.components(separatedBy: CharacterSet.newlines).joined(separator: " ")
Fournir une version 3.0 rapide de la réponse de @Kjuly ici (Notez qu'elle remplace un nombre quelconque de nouvelles lignes par un seul \ n.) Je préférerais ne pas utiliser l'express régulier si quelqu'un peut me diriger vers un meilleur moyen):
self.content = self.content.replacingOccurrences(of: "[\r\\n]+", with: "\n", options: .regularExpression, range: Range(uncheckedBounds: (lower: self.content.startIndex, upper: self.content.endIndex)));