In Swift ist es noch einfacher:
let string : String = "Hello 🐶🐮 🇩🇪"
let characters = Array(string)
println(characters)
// [H, e, l, l, o, , 🐶, 🐮, , 🇩🇪]
Dies nutzt die Fakten, die
- ein
Arraykann aus einem erstellt werdenSequenceType und erstellt werden
Stringentspricht dem SequenceTypeProtokoll und sein Sequenzgenerator zählt die Zeichen auf.
Und da Swift-Strings Unicode vollständig unterstützen, funktioniert dies auch mit Zeichen außerhalb der "Basic Multilingual Plane" (wie z. B. 🐶) und mit erweiterten Graphemclustern (wie z. B. 🇩🇪, die tatsächlich aus zwei Unicode-Skalaren bestehen).
Update: Ab Swift 2 String nicht mehr konform
SequenceType, aber die charactersEigenschaft bietet eine Folge der Unicode-Zeichen:
let string = "Hello 🐶🐮 🇩🇪"
let characters = Array(string.characters)
print(characters)
Dies funktioniert auch in Swift 3 .
Update: Ab Swift 4 String ist (wieder) eine Sammlung seiner
Characters:
let string = "Hello 🐶🐮 🇩🇪"
let characters = Array(string)
print(characters)
// ["H", "e", "l", "l", "o", " ", "🐶", "🐮", " ", "🇩🇪"]
let joined = ", ".join(characters);dem Array beizutreten ( ), zu einem führt ?'String' is not identical to 'Character'Fehler führt?