AAA*_*AAA 10 nsarray ios swift
我有一组存储在数组中的字符串.
stringArray = [Aruna, Bala, Chitra, Divya, Fatima]
Run Code Online (Sandbox Code Playgroud)
我想得到所有字符串的第一个字母并将其存储在一个数组中.喜欢:letterArray = [A, B, C, D, F]
注意:它们不在引号" - "内
myl*_*les 15
不确定你的意思是'他们不在引号内',但如果他们实际上是字符串那么类似的东西:
var letterArray = [Character]()
for string in stringArray {
letterArray.append(string.characters.first!)
}
Run Code Online (Sandbox Code Playgroud)
编辑
根据需要String改为:
var letterArray = [String]()
for string in stringArray {
letterArray.append(String(string.characters.first!))
}
Run Code Online (Sandbox Code Playgroud)
编辑2
正如Leo Dabus建议的那样,如果你传递一个空字符串,上面的代码就会失败.如果你知道永远不会有一个空字符串,这不适用,但我更新了上面的处理这种情况:
var letterArray = [String]()
for string in stringArray {
if let letter = string.characters.first {
letterArray.append(String(letter))
}
}
Run Code Online (Sandbox Code Playgroud)
更新:SWIFT 4
来自Swift 4 characters已被弃用.string.characters.first现在应该使用just来直接操作String,而不是使用你string.first.例如:
var letterArray = [String]()
for string in stringArray {
if let letter = string.first {
letterArray.append(String(letter))
}
}
Run Code Online (Sandbox Code Playgroud)
Leo*_*bus 14
Xcode 9•Swift 4
extension Collection where Element: StringProtocol {
var initials: [Element.SubSequence] {
return map { $0.prefix(1) }
}
}
Run Code Online (Sandbox Code Playgroud)
Xcode 8•Swift 3
extension Collection where Iterator.Element == String {
var initials: [String] {
return map{String($0.characters.prefix(1))}
}
}
Run Code Online (Sandbox Code Playgroud)
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"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20412 次 |
| 最近记录: |