Nó thậm chí còn dễ dàng hơn trong Swift:
let string : String = "Hello 🐶🐮 🇩🇪"
let characters = Array(string)
println(characters)
// [H, e, l, l, o, , 🐶, 🐮, , 🇩🇪]
Điều này sử dụng sự thật rằng
- một
Array
có thể được tạo ra từ một SequenceType
, và
String
phù hợp với SequenceType
giao thức, và trình tạo trình tự của nó liệt kê các ký tự.
Và vì các chuỗi Swift có hỗ trợ đầy đủ cho Unicode, nên chuỗi này hoạt động ngay cả với các ký tự bên ngoài "Mặt phẳng đa ngôn ngữ cơ bản" (như) và với các cụm grapheme mở rộng (như such, thực sự bao gồm hai vô hướng Unicode).
Cập nhật: Kể từ Swift 2, String
không còn phù hợp với
SequenceType
, nhưng thuộc characters
tính cung cấp một chuỗi các ký tự Unicode:
let string = "Hello 🐶🐮 🇩🇪"
let characters = Array(string.characters)
print(characters)
Điều này cũng hoạt động trong Swift 3 .
Cập nhật: Kể từ Swift 4, String
(một lần nữa) là một bộ sưu tập của nó
Character
:
let string = "Hello 🐶🐮 🇩🇪"
let characters = Array(string)
print(characters)
// ["H", "e", "l", "l", "o", " ", "🐶", "🐮", " ", "🇩🇪"]
let joined = ", ".join(characters);
) kết quả mảng bị'String' is not identical to 'Character'
lỗi không?