Rhe*_*enz 7 string capitalize ios swift
我正在迅速学习.我一直在Playground尝试这个.我不知道为什么字符串没有在这里大写.或者有没有其他方法可以直接大写数组中的字符串?
这是我的代码.
var dogNames = ["Sean", "fido", "Sarah", "Parker", "Walt", "abby", "Yang"]
for index in 0..<dogNames.count {
var dogName = dogNames[index].capitalizedString
dogNames.removeAtIndex(index)
dogNames.append(dogName)
}
Run Code Online (Sandbox Code Playgroud)
当我尝试再次显示变量dogNames时.里面的字符串没有大写.
Leo*_*bus 13
更新:Xcode 8.2.1•Swift 3.0.2
var dogNames = ["Sean", "fido", "Sarah", "Parker", "Walt", "abby", "Yang"]
for (index, element) in dogNames.enumerated() {
dogNames[index] = element.capitalized
}
print(dogNames) // "["Sean", "Fido", "Sarah", "Parker", "Walt", "Abby", "Yang"]\n"
Run Code Online (Sandbox Code Playgroud)
这是使用的典型案例map():
let dogNames1 = ["Sean", "fido", "Sarah", "Parker", "Walt", "abby", "Yang"].map{$0.capitalized}
Run Code Online (Sandbox Code Playgroud)
一个filter()示例:
let dogNamesStartingWithS = ["Sean", "fido", "Sarah", "Parker", "Walt", "abby", "Yang"].filter{$0.hasPrefix("S")}
dogNamesStartingWithS // ["Sean", "Sarah"]
Run Code Online (Sandbox Code Playgroud)
你可以结合两者:
let namesStartingWithS = ["sean", "fido", "sarah", "parker", "walt", "abby", "yang"].map{$0.capitalized}.filter{$0.hasPrefix("S")}
namesStartingWithS // ["Sean", "Sarah"]
Run Code Online (Sandbox Code Playgroud)
您还可以使用方法排序(如果您不想改变原始数组,则进行排序),以便在需要时按字母顺序对结果进行排序:
let sortedNames = ["sean", "fido", "sarah", "parker", "walt", "abby", "yang"].map{$0.capitalized}.sorted()
sortedNames // ["Abby", "Fido", "Parker", "Sarah", "Sean", "Walt", "Yang"]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6720 次 |
| 最近记录: |