使用Swift提取字符串中的最后一个单词 [英] Extract Last Word in String with Swift

查看:404
本文介绍了使用Swift提取字符串中的最后一个单词的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Swift中提取String中的最后一个单词的方法是什么?因此,如果我有Lorem ipsum dolor sit amet,请返回amet。这样做的最有效方法是什么?

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?

推荐答案

您可以使用String方法enumerateSubstringsInRange。第一个参数只传递你的String characters.indices和选项.ByWords。只需将每个子字符串附加到最终数组并返回它。

You can use String method enumerateSubstringsInRange. First parameter just pass your String characters.indices, and the option .ByWords. Just append each substring to the final array and return it.

Xcode 8.1•Swift 3.0.1或更高版本

extension String {
    var byWords: [String] {
        var byWords:[String] = []
        enumerateSubstrings(in: startIndex..<endIndex, options: .byWords) {
            guard let word = $0 else { return }
            print($1,$2,$3)
            byWords.append(word)
        }
        return byWords
    }
    func firstWords(_ max: Int) -> [String] {
        return Array(byWords.prefix(max))
    }
    var firstWord: String {
        return byWords.first ?? ""
    }
    func lastWords(_ max: Int) -> [String] {
        return Array(byWords.suffix(max))
    }
    var lastWord: String {
        return byWords.last ?? ""
    }
}






用法:


Usage:

let sentence = "Out of this world!!!"
let firstWord = sentence.firstWord       // "Out"
let lastWord = sentence.lastWord         // world"
let words = sentence.byWords             // ["Out", "of", "this", "world"]
let first2Words = sentence.firstWords(2) // ["Out", "of"]
let last2Words = sentence.lastWords(2)   // ["this", "world"]






Swift 2

extension String {
    var byWords: [String] {
        var result:[String] = []
        enumerateSubstringsInRange(characters.indices, options: .ByWords) {
            guard let substring = $0.substring else { return }
            result.append(substring)
        }
        return result
    }
}

这篇关于使用Swift提取字符串中的最后一个单词的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆