Wie Diakritika (oder Akzente) von einem String
(wie sagen wir "één" zu "een") in Swift entfernen? Muss ich zurück zu NSString
oder kann es innerhalb Swift getan werden?Wie Diakritika aus einem String in Swift entfernen?
34
A
Antwort
81
können Sie arbeiten direkt auf einem Swift String
(wenn "Foundation" wird importiert):
let foo = "één"
let bar = foo.stringByFoldingWithOptions(.DiacriticInsensitiveSearch, locale: NSLocale.currentLocale())
print(bar) // een
Swift 3:
let foo = "één"
let bar = foo.folding(options: .diacriticInsensitive, locale: .current)
print(bar) // een
4
Update @ martinR Antwort ... ein Swift 3 Erweiterung, um eine Zeichenfolge zum Sortieren/Suchen, die für jemanden nützlich sein könnte ...
extension String {
var forSorting: String {
let simple = folding(options: [.diacriticInsensitive, .widthInsensitive, .caseInsensitive], locale: nil)
let nonAlphaNumeric = CharacterSet.alphanumerics.inverted
return simple.components(separatedBy: nonAlphaNumeric).joined(separator: "")
}
}
z.B.
print("Mÿ nâMe ís jÄço´B".forSorting) // "mynameisjacob"
+1
Sie sollten jetzt, dass die Sortierung ist sehr locale abhängig. Zum Beispiel ist "ch" in meiner Sprache ein Buchstabe zwischen "h" "i". Zum Sortieren von diakritischen Zeichen verwenden Sie einfach die richtigen Suchoptionen. – Sulthan
Verwandte Themen
- 1. Wie Diakritika aus Text entfernen?
- 2. Wie kann ich Diakritika (Umlaute) von einem String entfernen?
- 3. So entfernen Sie Zahlen aus einem String in Swift
- 4. entfernen Sonderzeichen aus einem String
- 5. Wie wiederholt Strings aus einem String entfernen
- 6. wie entfernen ‚\‘ aus string
- 7. Entfernen von Akzenten (Diakritika) aus lateinischen Zeichen zum Vergleich
- 8. aus einem leeren Abfrage-String entfernen url
- 9. Erhalten Sie alle Diakritika für ein bestimmtes Zeichen in Swift?
- 10. Entfernen führende Komma aus einem String
- 11. Entfernen Zeichenfolge aus einem String jquery
- 12. entfernen Eigenschaften aus einem JSON-String newtonsoft
- 13. Entfernen Sie doppelte Strings aus einem String
- 14. Entfernen eines Präfix aus einem String
- 15. entfernen Punkt-Zeichen aus einem String C#
- 16. von Vokalen aus einem String entfernen
- 17. Wie "(" von einem JSONObject in swift entfernen
- 18. Entfernen von Sonderzeichen aus einem String In einem Groovy Script
- 19. Referenzobjekt aus Tabelle entfernen - Swift
- 20. Entfernen Zeichen aus einer Zeichenkette in Swift
- 21. Text aus String entfernen
- 22. Wie entfernen führende und nachgestellten Leerzeichen aus einem String
- 23. Pixel aus Bild in Swift entfernen
- 24. Wie kann ich Kommas und Punkte aus einem String entfernen?
- 25. Wie kann ich das Element aus einem String entfernen?
- 26. python - String aus Wörtern in einem Array entfernen
- 27. Entfernen von Stoppwörtern aus einem String in Java
- 28. entfernen Zitate und Commas aus einem String in MySQL
- 29. Find String aus String mit NSRegularExpression Swift
- 30. Entfernen von Stoppwörtern aus String
Schöne Lösung! Vielen Dank. –
Danke! Es hat perfekt funktioniert! –
Ausgezeichnete Antwort wie immer. Beachten Sie, dass stringByFoldingWithOptions eine Methode von NSString ist. Dies nutzt die nahtlose Überbrückung zwischen NSString und String in Swift 2. Die Dinge sind anders in Swift 3. –