I have a string like this:
"
BLA
Blub"
Now I would like to remove all leading line breaks. (But only the ones until the first "real word" appears. How is this possible?
Thanks
If it is acceptable that newline (and other whitespace) characters are removed from both ends of the string then you can use
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())
To remove leading newline/whitespace characters only you can (for example) use a regular expression search and replace:
let trimmed = string.stringByReplacingOccurrencesOfString("^\\s*",
withString: "", options: .RegularExpressionSearch)
"^\\s*" matches all whitespace at the beginning of the string.
Use "^\\n*" to match newline characters only.
Update for Swift 3 (Xcode 8):
let trimmed = string.replacingOccurrences(of: "^\\s*", with: "", options: .regularExpression)
You can use extension for Trim
Ex.
let string = "\n\nBLA\nblub"
let trimmed = string.trim()
extension String {
func trim() -> String {
return self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
}
}