2016-09-27 12 views
0

Wie kann ich in Swift einchecken, wenn eine gesendete Zeichenfolge ein gültiges Wort ist (in Englisch oder einer anderen Sprache) und nicht nur eine Anzahl von Zeichen?Wie überprüft man, ob eine Zeichenfolge ein gültiges Wort ist?

+1

Ich denke nicht, dass es möglich ist (und natürlich nicht offline) gibt es Hunderte von verschiedenen Sprachen mit tausend verschiedenen Wörtern. – derdida

+0

@derdida, es ist! Überprüfe meine Antwort. –

+1

Aber das macht nur eine Rechtschreibprüfung - wenn das genug ist - ok. Aber diese funktionieren nur mit der Systemsprache oder? – derdida

Antwort

0

Sie könnten die UITextChecker-Klasse verwenden. Es gibt ein nettes kleines Beispiel hier: https://www.hackingwithswift.com/example-code/uikit/how-to-check-a-string-is-spelled-correctly-using-uitextchecker

Oder Sie könnten eine separate Bibliothek wie LexiContext verwenden. (http://www.lexicontext.com)

Hoffe das hilft! :)

+1

Dies ist eine Nur-Link-Antwort, und obwohl es die Frage zu beantworten scheint, fügen Sie die relevanten Bits aus dem hier referenzierten Material in die Antwort ein. – brandonscript

+0

Entschuldigung, ich hatte wenig Zeit und war am Telefon. Werde es in Zukunft tun, danke! – immadbananas

+0

Fühlen Sie sich frei, Ihre Antwort zu bearbeiten, sobald Sie die Zeit haben – brandonscript

2

Sie können die rangeOfMisspelledWord(in:range:startingAt:wrap:language:) verwenden.

Anwendungsbeispiel:

let checker = UITextChecker() 
let string: NSString = "The car is gren" 
let range = NSRange(location: 0,length: string.length) 
let misspelledRange: NSRange = checker.rangeOfMisspelledWord(in: string as String, range: range, startingAt: 0, wrap: false, language: "en_US") 

print(misspelledRange.toRange()) // prints 11..<15 

Wenn Sie eine Zeichenfolge wie let string: NSString = "The car is 31782" eingeben wird es nil zurückzukehren. Wenn es nil zurückgibt, dann ist es nicht nur ein falsch geschriebenes Wort, es sind auch einige schlechte Charaktere.

Verwandte Themen