文字列のグループが配列に格納されています。
stringArray = [Aruna, Bala, Chitra, Divya, Fatima]
すべての文字列の最初の文字を取得して、配列に格納したいのですが。お気に入り: letterArray = [A, B, C, D, F]
注:それらは引用符「-」内にありません
「引用符で囲まれていない」とはどういう意味かわかりませんが、実際には文字列の場合は次のようになります。
var letterArray = [Character]()
for string in stringArray {
letterArray.append(string.characters.first!)
}
[〜#〜]編集[〜#〜]
代わりにString
にしたい場合は、次のようにします。
var letterArray = [String]()
for string in stringArray {
letterArray.append(String(string.characters.first!))
}
EDIT 2
Leo Dabus が示唆するように、空の文字列を渡すと、上記は失敗します。空の文字列が存在しないことがわかっている場合、これは適用されませんが、このケースを処理するように上記を更新しました。
var letterArray = [String]()
for string in stringArray {
if let letter = string.characters.first {
letterArray.append(String(letter))
}
}
更新:Swift 4
From Swift 4 characters
は廃止されました。string.characters.first
を使用する代わりに、string.first
だけを使用して文字列を直接操作する必要があります。次に例を示します。
var letterArray = [String]()
for string in stringArray {
if let letter = string.first {
letterArray.append(String(letter))
}
}
Xcode 9•Swift 4
extension Collection where Element: StringProtocol {
var initials: [Element.SubSequence] {
return map { $0.prefix(1) }
}
}
Xcode 8•Swift
extension Collection where Iterator.Element == String {
var initials: [String] {
return map{String($0.characters.prefix(1))}
}
}
Xcode 7.3.1•Swift 2.2.1
extension CollectionType where Generator.Element == String {
var initials: [String] {
return map{ String($0.characters.prefix(1)) }
}
}
let stringArray = ["Aruna", "Bala", "Chitra", "Divya", "Fatima"]
let initials = stringArray.initials // ["A", "B", "C", "D", "F"]