交换字符串案例 - 迅捷

Kaa*_*att 0 string cocoa swift

let str = "tHIS is A test"
let swapped_case = "This IS a TEST"
Run Code Online (Sandbox Code Playgroud)

Swift noob在这里,如何以编程方式执行第二个语句?

Mar*_*n R 5

此函数适用于Unicode中定义的所有大写/小写字符,甚至是来自"外国"语言的字符,如Ä或ć:

func swapCases(_ str : String) -> String {
    var result = ""
    for c in str.characters { // Swift 1: for c in str {
        let s = String(c)
        let lo = s.lowercased() //Swift 1 & 2: s.lowercaseString
        let up = s.uppercased() //Swift 1 & 2: s.uppercaseString
        result += (s == lo) ? up : lo
    }
    return result
}
Run Code Online (Sandbox Code Playgroud)

例:

let str = "tHIS is a test ÄöÜ ??Œ ?" // The last character is a capital Greek Alpha
let swapped_case = swapCases(str)
print(swapped_case)
// This IS A TEST äÖü ??œ ?
Run Code Online (Sandbox Code Playgroud)