swift方法实现字符串的大小写转换

太叔睿
2023-12-01
  • 编写一个程序,要求可以把一个字符串中的每一个字符,如果是大写字母变小写字母,如果是小写字母变大写,如果是其他字符不变
  • 例如: 字符串China23beiJing 经过程序转换为cHINA23BEIjING

func changeCharcter (chNum:Character) -> Character {
    //将字符转成整数

    var chStr = String(chNum)   //将字符转成字符串
    var num:UInt32 = 0  //用于接受字符整数值的变量
    for item in chStr.unicodeScalars {
        num = item.value    //循环只执行一次,获取字符的整数的值

    }
    /*
     如果是大小写字母,转换数值
     */
    //如果是大写字母
    if num >= 65 && num <= 90 {
        num += 32
    }
        //如果是小写字母
    else if num >= 97 && num <= 122 {
        num -= 32
    }
    /*
     将整数转换为字符
     */
    let newChNum = Character(UnicodeScalar(num)!)
    return newChNum

}
var str = "China23beiJing "
var i = 0   //表示偏移量(循环变量初始值)
while i < str.characters.count {    //循环条件,包含循环变量的终止值
    var str1 = str[str.index(str.startIndex, offsetBy: i)]
//    str1 = changeCharcter(chNum: str1)

    str.replaceSubrange(str.index(str.startIndex, offsetBy:
        i)...str.index(str.startIndex, offsetBy: i),
                           with: String(changeCharcter(chNum: str1)))
    i+=1;   //循环变量值变化
}
print(str)
 类似资料: