Wie erhält man die Länge eines String
? Zum Beispiel habe ich eine variable definiert wie:
var test1: String = "Scott"
Ich kann jedoch keine Längenmethode für den String finden.
Wie erhält man die Länge eines String
? Zum Beispiel habe ich eine variable definiert wie:
var test1: String = "Scott"
Ich kann jedoch keine Längenmethode für den String finden.
Swift 2.0: Holen Sie sich eine Zählung: yourString.text.characters.count
Ein lustiges Beispiel, wie dies nützlich sein könnte, wäre ein Zeichen-Countdown von einer bestimmten Anzahl (zum Beispiel 150) in einem UITextView anzuzeigen:
func textViewDidChange(textView: UITextView) {
yourStringLabel.text = String(150 - yourStringTextView.text.characters.count)
}
In swift4 habe ich bisher immer string.count
verwendet, bis heute habe ich herausgefunden, dass
string.endIndex.encodedOffset
die bessere Alternative ist, da sie schneller ist - für einen String mit 50.000 Zeichen ist sie etwa 6-mal schneller als .count
. Das Ergebnis von .count
hängt von der Länge des Strings ab, aber .endIndex.encodedOffset
nicht.
Aber es gibt ein NEIN. Es ist nicht gut für Strings mit Emojis, es wird ein falsches Ergebnis liefern, also nur .count
ist korrekt.
In Swift 4 : Wenn der String keine Unicode-Zeichen enthält, verwenden Sie bitte das Folgende
let str : String = "abcd"
let count = str.count // Ausgabe 4
Wenn der String Unicode-Zeichen enthält, verwenden Sie bitte das Folgende :
let spain = "España"
let count1 = spain.count // Ausgabe 6
let count2 = spain.utf8.count // Ausgabe 7
Swift 4 Update im Vergleich zu Swift 3
Swift 4 entfernt die Notwendigkeit eines Zeichenarrays in einem String. Das bedeutet, dass Sie direkt count
auf einem string aufrufen können, ohne zuerst das Zeichenarray zu erhalten.
"hello".count // 5
Während Sie in Swift 3 das Zeichenarray erhalten und dann die Anzahl der Elemente in diesem Array zählen müssen. Beachten Sie, dass diese folgende Methode weiterhin in Swift 4.0 verfügbar ist, da Sie immer noch characters
aufrufen können, um auf das Zeichenarray des angegebenen Strings zuzugreifen.
"hello".characters.count // 5
Swift 4.0 übernimmt auch Unicode 9 und kann jetzt Graphemcluster interpretieren. Zum Beispiel wird das Zählen eines Emojis Ihnen 1 geben, während Sie in Swift 3.0 Zählungen größer als 1 erhalten können.
"".count // Swift 4.0 gibt 1 aus, Swift 3.0 gibt 2 aus
"".count // Swift 4.0 gibt 1 aus, Swift 3.0 gibt 4 aus
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.