What is the way of extracting last word in a String in Swift? So if I have \"Lorem ipsum dolor sit amet\", return \"amet\". What is the most efficient way of doing this?
Swift 5
extension String {
func trim(_ emptyToNil: Bool = true)->String? {
let text = self.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
return emptyToNil && text.isEmpty ? nil : text
}
var lastWord: String? {
if let size = self.lastIndex(of: " "), size >= self.startIndex {
return String(self[size...]).trim()
}
return nil
}
}
Usage
print("Out of this world!!!".lastWord ?? "") // world!!!