Wie finde ich heraus, ob der Buchstabe ist eine Alphanumerische oder eine Ziffer in Swift
Möchte ich die Anzahl von Buchstaben, Ziffern und Sonderzeichen, die in den folgenden string:
let phrase = "The final score was 32-31!"
Habe ich versucht:
for tempChar in phrase {
if (tempChar >= "a" && tempChar <= "z") {
letterCounter++
}
// etc.
aber ich bin immer Fehler. Ich habe versucht, alle möglichen anderen Variationen, die auf dieser - noch immer Fehler wie:
konnte nicht finden, eine überlastung des '<=', akzeptiert die angegebenen Argumente
Du musst angemeldet sein, um einen Kommentar abzugeben.
Update für Swift 3:
(Vorherige Antwort bei älteren Swift-Versionen)
Eine möglichst Rasche Lösung:
Update: Die obige Lösung funktioniert nur mit Zeichen in der ASCII-Zeichensatz,
d.h. es erkennt nicht, Ä, é oder ø als Briefe. Folgende alternative
Lösung verwendet
NSCharacterSet
aus dem Foundation-framework, das testen kann Zeichenbasierend auf Ihren Unicode-Zeichenklassen:
Update 2: Wie der Xcode 6 beta 4, die erste Lösung funktioniert nicht mehr, weil
die
isAlpha()
und Verwandte (nur ASCII -) Methoden wurden entfernt von Swift.Die zweite Lösung funktioniert immer noch.
+
und-
als ZifferVerwenden Sie die Werte von unicodeScalars
Habe ich einen kurzen extension für Buchstaben und Ziffern zählen für ein
String
oder eine Funktion, um die Anzahl für jede
CharacterSet
Sie inVerwendung: