Entfernen Sie das letzte Zeichen aus der Zeichenfolge. Schnelle Sprache
Wie kann ich Sie entfernen Letzte Zeichen aus dem String-variable mit Swift? Es nicht finden können in der Dokumentation.
Hier ist voller Beispiel:
var expression = "45+22"
expression = expression.substringToIndex(countElements(expression) - 1)
Kommentar zu dem Problem
2017, MODERNE ANTWORT auf: stackoverflow.com/a/39610807/294884
InformationsquelleAutor der Frage Konstantin Cherkasov | 2014-06-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Swift 4.0
Swift 3.0
Die APIs bekommen haben ein bisschen mehr swifty, und als Ergebnis die Foundation extension etwas geändert hat:
Oder die in-place-version:
Dank Zmey, Rob Allen!
Swift 2.0+ Weg
Gibt es ein paar Möglichkeiten, dies zu erreichen:
Über die Stiftung die Erweiterung, obwohl Sie nicht Teil der Swift-Bibliothek:
Mithilfe der
removeRange()
- Methode (die verändert diename
):Mithilfe der
dropLast()
Funktion:Alten Zeichenfolge).Index (Xcode 6 Beta 4 +) Weg
Seit
String
Arten im Swift-Ziel, die für eine hervorragende Unterstützung für UTF-8, können Sie nicht mehr zugreifen, Zeichen-Indizes/- Bereiche/Teilstrings mitInt
Arten. Verwenden Sie stattdessenString.Index
:Alternativ (für eine praktischere, aber weniger pädagogische Beispiel), die Sie verwenden können
endIndex
:Hinweis: fand ich diese ein großer Ausgangspunkt für das Verständnis
String.Index
Alten (pre-Beta 4) Weg
Können Sie einfach die
substringToIndex()
Funktion werden, sofern es sich um eins kleiner als die Länge derString
:InformationsquelleAutor der Antwort Craig Otis
Den globalen
dropLast()
Funktion arbeitet auf Sequenzen und somit auf die Saiten:InformationsquelleAutor der Antwort gui_dos
Swift 4:
In Swift 2:
Empfehle ich diese link erhalten Sie einen Einblick in Swift-strings.
InformationsquelleAutor der Antwort jrc
Dies ist ein String Extension Form:
für Versionen von Swift früher als 1.2:
Verwendung:
Referenz:
Sehen DOCS
InformationsquelleAutor der Antwort Maxim Shoustin
Verwenden Sie die Funktion
removeAtIndex(i: String.Index) -> Character
:InformationsquelleAutor der Antwort Anton Serkov
Der einfachste Weg, um schneiden Sie die letzten Zeichen des Strings ist:
InformationsquelleAutor der Antwort Kunal
Swift 4
oder
oder
InformationsquelleAutor der Antwort Carien van Zyl
InformationsquelleAutor der Antwort Channing
InformationsquelleAutor der Antwort Leo Dabus
Kurze Antwort (gültig ab 2015-04-16):
removeAtIndex(myString.endIndex.predecessor())
Beispiel:
Meta:
Die Sprache setzt seine rasante Entwicklung, so dass die Halbwertszeit für viele früher-gut S. O. Antworten zu gefährlich kurz. Es ist immer am besten, um die Sprache zu lernen und beziehen sich auf Reale Dokumentation.
InformationsquelleAutor der Antwort cweekly
Mit der neuen Substring Typ Verwendung:
Swift 4:
Kürzeren Weg:
InformationsquelleAutor der Antwort Jorge Ramírez
Verwenden Sie die Funktion
advance(startIndex, endIndex)
:InformationsquelleAutor der Antwort Chen Rui
Swift Kategorie, das mutierend:
Verwenden:
InformationsquelleAutor der Antwort Sunkas
Anderen Weise, Wenn Sie entfernen möchten eine oder mehrere als ein Zeichen vom Ende.
Wo XX ist die Anzahl der Zeichen, die Sie entfernen möchten.
InformationsquelleAutor der Antwort Kaiusee
Swift 3 (nach der docs) 20th Nov 2016
InformationsquelleAutor der Antwort narco
Ich würde empfehlen, mit NSString für Zeichenfolgen, die Sie manipulieren möchten. Eigentlich kommen zu denken, der es als Entwickler habe ich noch nie ein problem mit NSString, dass die Swift-String lösen würde... ich verstehe die Feinheiten. Aber ich habe noch eine tatsächliche Notwendigkeit für Sie.
oder
oder
Und dann die ganze Welt der einfachen NSString string-Operationen steht Ihnen offen.
Als Antwort auf die Frage
InformationsquelleAutor der Antwort n13
kostenlos zu den oben genannten code, den ich entfernen wollte am Anfang der Zeichenfolge und konnte nicht finden, einen Verweis überall. Hier ist, wie ich es gemacht habe:
Diese Borten 17 Zeichen vom Anfang der Zeichenfolge (er insgesamt string-Länge ist 67 wir Voraus -50 aus dem Ende und da haben Sie es.
InformationsquelleAutor der Antwort Sophman
Den
dropLast()
- Funktion entfernt das Letzte element des Strings.InformationsquelleAutor der Antwort Jogendra Singh