Here's a slightly more idiomatic version in quick
func capitalLetters(s: String) -> [Character] { return filter(s) { ("A"..."Z").contains($0) } } capitalLetters("fOo BAr") // ["O", "B", "A"]
or even:
func capitalLetters(s: String) -> [Character] { func isCapital(c: Character) -> Bool { return ("A"..."Z").contains(c) } return filter(s, isCapital) } capitalLetters("fOo BAr")
and you can make the syntax more enjoyable by providing an extension
extension String { func capitalLetters() -> [Character] { func isCapital(c: Character) -> Bool { return ("A"..."Z").contains(c) } return filter(self, isCapital) } } "fOo BAr".capitalLetters()
source share