web-dev-qa-db-fra.com

Supprimez tous les sauts de ligne au début d'une chaîne dans Swift

J'ai une chaîne comme celle-ci:

"

BLA
Blub"

Maintenant, je voudrais supprimer tous les sauts de ligne principaux. (Mais seulement ceux jusqu'à ce que la première "vraie Parole" apparaisse. Comment est-ce possible?

Merci

21
Christian

S'il est acceptable que les caractères de nouvelle ligne (et d'autres espaces) soient supprimés des aux deux extrémités de la chaîne, vous pouvez utiliser

let string = "\n\nBLA\nblub"
let trimmed = string.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
// In Swift 1.2 (Xcode 6.3):
let trimmed = (string as NSString).stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())

Pour supprimer les caractères de début de ligne/blanc , seuls vous pouvez (par exemple) utiliser une recherche d'expression régulière et remplacer:

let trimmed = string.stringByReplacingOccurrencesOfString("^\\s*",
    withString: "", options: .RegularExpressionSearch)

"^\\s*" correspond à tous les espaces au début de la chaîne. Utilisation "^\\n*" pour correspondre uniquement aux caractères de nouvelle ligne.

Mise à jour pour Swift 3 (Xcode 8):

let trimmed = string.replacingOccurrences(of: "^\\s*", with: "", options: .regularExpression)
53
Martin R

Vous pouvez utiliser extension pour Trim

Ex.

let string = "\n\nBLA\nblub"
let trimmed = string.trim()

extension String {
    func trim() -> String {
          return self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
    }
}
9
Jignesh Chanchiya