Swift gelten .uppercaseString nur den ersten Buchstaben einer Zeichenfolge
Ich versuche, eine AutoKorrektur-system, und wenn ein Benutzer ein Wort mit einem Großbuchstaben, die AutoKorrektur funktioniert nicht. Um dieses Problem zu beheben, habe ich eine Kopie der Zeichenkette eingegeben werden, angewendet .lowercaseString, und dann verglichen Sie. Wenn der string ist in der Tat vertippt, es sollte richtige Wort. Jedoch ist dann das Wort, das ersetzt das eingegebene Wort wird in Kleinbuchstaben geschrieben. Also muss ich anwenden .uppercaseString nur den ersten Buchstaben. Ich ursprünglich dachte, ich könnte
nameOfString[0]
aber diese scheinbar nicht funktioniert. Wie bekomme ich den ersten Buchstaben der Zeichenfolge in Großbuchstaben um, und Sie dann drucken zu können, die vollständige Verbindungszeichenfolge mit dem ersten Buchstaben großgeschrieben?
Vielen Dank für jede Hilfe!!!
InformationsquelleAutor SomeGuy | 2014-10-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einschließlich mutiert und nicht mutierenden Versionen, sind in übereinstimmung mit API-Richtlinien.
Swift 3:
Swift 4:
.capitalizedString
funktioniert nicht mehr in Xcode 7 Beta 4. Strings haben sich ein wenig geändert in Swift 2.0.du hast Recht, mein schlechtes. Ich hatte vergessen zu importieren
Foundation
verlegen grinsVerwenden
.uppercaseString
für dasDies ist die ernst wirksamen Antwort mate..die Arbeit mit Xcode 7.1.1/ Swift 2.1....Vielen Dank 🙂
seine nur
.capitalized
jetzt. Beachten Sie auchcapitalizedStringWith(_ locale:)
InformationsquelleAutor Kirsteins
Swift 5 oder höher
Xcode 9 • Swift 4
Ich mag die swift 2.1.1 Lösung, aber wenn ich meine app, und überprüfen Sie auf Lecks, zeigt dieser undicht ist.
Ich habe gerade ein neues Projekt erstellt und es scheint, es verursacht einen Speicherverlust, wenn diese zusammen mit einem
UITextField
Beobachter fürUITextFieldTextDidChangeNotification
.das hat nichts mit dem code selbst. wenn Sie feststellen, dass die Leistung/Speicher-Problem sollten Sie sich umgehend an Apple.
Ich denke, es ist nach unten, Das macht den code die Absicht deutlicher. Leeres string-literal ist vielleicht am besten.
InformationsquelleAutor Leo Dabus
für "Hallo Welt"
oder für "HALLO WELT"
Dies wird die Großschreibung des ersten Buchstaben von jedem Wort der Zeichenfolge und nicht nur das erste Wort.
Rückgabe: Ein Großbuchstaben Kopie der Zeichenfolge. public func uppercased() -> String Swift 3.0 oder für "HALLO WELT" nameOfString.uppercased STATT VON OBEN nameOfString.uppercased()
Das ist gut für einige Fälle)
InformationsquelleAutor Maselko
Swift 4.0
oder
Aber dieser wandelt den ersten Buchstaben jedes Wortes
Apple-Dokumentation:
Dies sollte die akzeptierte Antwort
Wichtig ist, "Aktiviert" ist richtig für alle Unicode-Zeichen, während mit "uppercased" für den ersten Charakter nicht.
InformationsquelleAutor sam k
Für Swift 5:
InformationsquelleAutor user2260304
Swift 2.0 (Single line):
.localizedLowercaseString
am Ende zu machen, arbeiten mit Zeichenfolgen wie: aNYsTring.String(nameOfString.characters.prefix(1)).uppercaseString + String(nameOfString.characters.dropFirst()).localizedLowercaseString
InformationsquelleAutor Phil
Für das erste Zeichen in word verwenden
.capitalized
im swift-und für ganze Wörter verwenden.uppercased()
InformationsquelleAutor DURGESH Chaurasiya
Ich bin immer das erste Zeichen dupliziert mit Kirsteins' Lösung. Dieser wird in Großbuchstaben das erste Zeichen, ohne zu sehen, Doppelzimmer:
Ich weiß nicht, ob es mehr oder weniger effizient, ich weiß nur, dass es mir das gewünschte Ergebnis.
Dein post inspiriert diese Antwort - danke!: func capitaizeFirstChar(var s: String) -> String { if en.isEmpty == false { let Bereich = en.startIndex...en.startIndex lassen original = en.substringWithRange(mittelkampf) lassen Sie uns großgeschrieben = original.capitalizedString wenn original == kapitalisierte { return s } en.replaceRange(range: aktiviert) } return s }
In neueren Versionen von Swift,
countElements
ist nurcount
.InformationsquelleAutor Marc Fearby
Swift 3 (xcode 8.3.3)
Großbuchstaben allen ersten Zeichen von string
Großschreibung alle Zeichen
Groß-nur erste Zeichen des string
InformationsquelleAutor oscar castellon
Vom Swift 3 können Sie ganz einfach verwenden
textField.autocapitalizationType = UITextAutocapitalizationType.sentences
InformationsquelleAutor Yura
Hier eine version für Swift 5 , verwendet die Unicode-scalar-Eigenschaften API zu retten, wenn der erste Brief ist bereits Großbuchstaben, oder nicht haben eine Vorstellung des case:
InformationsquelleAutor Adam Sharp
Großschreibung des ersten Zeichens in der Zeichenfolge
InformationsquelleAutor user3699466
Credits zu Leonardo Savio Dabus:
Stell ich mir die meisten Anwendungsfälle ist eine gute Gehäuse:
InformationsquelleAutor ericgu
Meine Lösung:
InformationsquelleAutor Nazariy Vlizlo
Einbeziehung der oben genannten Antworten, schrieb ich eine kleine Erweiterung, die Großschreibung des ersten Buchstabens jedes Wortes (denn das ist das, was ich suchte und dachte, jemand anderes könnte es).
Ich demütig Einreichen:
InformationsquelleAutor Matt
In Swift 3.0 (dies ist ein wenig schneller und sicherer als die akzeptierte Antwort) :
nameOfString.Großbuchstaben funktionieren nicht, wird es profitieren alle Wörter in einem Satz
InformationsquelleAutor pierre23
Swift 4
InformationsquelleAutor Gayratjon
Hier ist die Art und Weise habe ich es in kleinen Schritten, die ähnlich @Kirsteins.
InformationsquelleAutor guptron
Funktioniert auch, nur pass den string aus und erhalten Sie eine aktivierte zurück.
InformationsquelleAutor Daniel Leonard
Swift 3-Update
Den
replaceRange
func ist jetztreplaceSubrange
InformationsquelleAutor Brendt Bly
Ich bin teilweise zu dieser version, die bereinigt version von einem anderen Antwort:
Es ist bestrebt, effizienter zu sein, indem nur die Bewertung selbst.Zeichen einmal, und dann verwendet, einheitliche Formen zu erstellen, die sub-strings.
InformationsquelleAutor Patrick Beard
Swift 4 (Xcode 9.1)
InformationsquelleAutor Daniel R
Wenn Ihr string ist alle Kappen dann unten Methode funktioniert
Diese Erweiterung hilft Ihnen
.capitalized
Warum Sie das tun, negative Stimmen. Diese Methode ist für den Satz Falle. Großgeschrieben wird jedes erste Zeichen des Wortes zu Kapital. Beispiel Zeichenfolge :- (DAS IST EIN JUNGE)
.capitalized
zurück (Das Ist Ein Junge), und diese Methode zurück (Das ist ein junge) Beide sind anders. (Bitte +ve Abstimmung oder Entfernen von negativen)Du hast Recht @ashu, ich entschuldige mich. Allerdings kann ich nicht upvote Bearbeiten, bis Sie die Antwort, die so vielleicht nur einen kleinen weißen Raum Bearbeiten und ich werde upvote. Sorry nochmal.
Ich habe bearbeitet die Antwort. Pls nicht nötig.
InformationsquelleAutor Ashu
Swift 5
https://www.hackingwithswift.com/example-code/strings/how-to-capitalize-the-first-letter-of-a-string
}
Verwendung mit Ihrem string
InformationsquelleAutor Sanjay Mishra
InformationsquelleAutor john07
Wenn Sie wollen, um die Kapitaldecke zu jedem Wort der Zeichenfolge, die Sie verwenden können, diese Erweiterung
Swift Xcode 4 9.2
Verwendet
.capitalized
InformationsquelleAutor Shilpriya