Подтвердить что ты не робот

Удалите все разрывы строк в начале строки в Swift

У меня есть строка вроде этого:

"

BLA
Blub"

Теперь я хотел бы удалить все ведущие разрывы строк. (Но только те, пока не появится первое "настоящее слово". Как это возможно?

Спасибо

4b9b3361

Ответ 1

Если допустимо, что символы новой строки (и другие пробелы) удаляются с обоих концов строки, вы можете использовать

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())

Чтобы удалить ведущие символы новой строки/пробела, вы только может (например) использовать поиск регулярных выражений и замените:

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

"^\\s*" соответствует всем пробелам в начале строки. Используйте "^\\n*" для соответствия только символам новой строки.

Обновление для Swift 3 (Xcode 8):

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

Ответ 2

Вы можете использовать строку Extension for Trim

Ex.

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

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

Ответ 3

Используйте функцию быстрой корректировки строки.

var stringToClean = "      Hello"
var cleanString = stringToClean.trim()