首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串集的UITextChecker -SWIFT4.2

字符串集的UITextChecker -SWIFT4.2
EN

Stack Overflow用户
提问于 2019-03-10 04:57:08
回答 1查看 188关注 0票数 0

由于@Leo,我现在拥有这个Extension。它对单个String非常有效,但是我如何将相同的逻辑实现到Set of Strings (如var mySet = ["word", "notaword", "stillnotaword"] )。在本例中,我希望函数只将第一个index标识为true (即一个英文单词)。

代码语言:javascript
复制
extension String {
    public mutating func isEnglishWord() -> Bool {
        return UITextChecker().rangeOfMisspelledWord(in: self, range: NSRange(location: 0, length: utf16.count), startingAt: 0, wrap: false, language: "en_US").location == NSNotFound
    }
}

var myString = "word"

myString.isEnglishWord()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-11 05:44:02

代码语言:javascript
复制
let words = ["word", "notaword", "stillnotaword"]

let validWords = words.filter { word -> Bool in
    return word.isEnglishWord()
}

let wordsArray : NSArray = NSArray(array: words)
let validWordsIndexes = wordsArray.indexesOfObjects { (word, index, _) -> Bool in
    return (word as! String).isEnglishWord()
}

print(validWords)
print(validWordsIndexes)

extension String {
    public func isEnglishWord() -> Bool {
        return UITextChecker().rangeOfMisspelledWord(in: self, range: NSRange(location: 0, length: utf16.count), startingAt: 0, wrap: false, language: "en_US").location == NSNotFound
    }
}

我添加了打印有效单词和有效单词索引的代码。你可以选择适合你的。谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55084554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档