Extract Last Word in String with Swift

后端 未结 6 1057
傲寒
傲寒 2020-12-09 12:13

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?

6条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-09 12:42

    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!!!
    

提交回复
热议问题