字符串集的 UITextChecker - Swift 4.2
UITextChecker for Set of Strings - Swift 4.2
我目前有这个 Extension
感谢@Leo Dabus。它非常适合单个 String
,但我如何将相同的逻辑实现到 Strings
的 Set
,如 var mySet = ["word", "notaword", "stillnotaword"]
。在此示例中,我希望该函数仅将第一个 index
识别为 true
(即英文单词)。
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()
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
}
}
我添加了打印有效词和有效词索引的代码。您可以选择适合您的。谢谢
我目前有这个 Extension
感谢@Leo Dabus。它非常适合单个 String
,但我如何将相同的逻辑实现到 Strings
的 Set
,如 var mySet = ["word", "notaword", "stillnotaword"]
。在此示例中,我希望该函数仅将第一个 index
识别为 true
(即英文单词)。
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()
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
}
}
我添加了打印有效词和有效词索引的代码。您可以选择适合您的。谢谢