作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我需要字符串中的大写字母。使用 NSString
就像这样:
for (var i = 0; i<str.length; i++) {
let c = str.characterAtIndex(i)
if c >= 'A' && c < 'Z' {
//..
}
}
在 Swift 中它是这样开始的:
for (var i = 0; i<countElements(str); i++) {
//..
}
但我不知道如何选择第 i 个字符,我正在检查 this
最佳答案
这是一个稍微更惯用的 swift 版本
func capitalLetters(s: String) -> [Character] {
return filter(s) { ("A"..."Z").contains($0) }
}
capitalLetters("fOo BAr") // ["O", "B", "A"]
甚至:
func capitalLetters(s: String) -> [Character] {
func isCapital(c: Character) -> Bool {
return ("A"..."Z").contains(c)
}
return filter(s, isCapital)
}
capitalLetters("fOo BAr")
或者,您也可以通过提供扩展来使语法更好
extension String {
func capitalLetters() -> [Character] {
func isCapital(c: Character) -> Bool {
return ("A"..."Z").contains(c)
}
return filter(self, isCapital)
}
}
"fOo BAr".capitalLetters()
关于ios - 如何从 Swift 字符串中选择大写字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26538538/
我是一名优秀的程序员,十分优秀!