gpt4 book ai didi

string - 如何用另一个替换字符串的第n个字符

转载 作者:IT王子 更新时间:2023-10-29 05:10:51 25 4
gpt4 key购买 nike

如何用另一个字符替换 String 的第 nth 个字符?

func replace(myString:String, index:Int, newCharac:Character) -> String {
// Write correct code here
return modifiedString
}

例如,replace("House", 2, "r") 应该等于 "Horse"

最佳答案

使用 NSString 方法的解决方案对于任何具有多字节 Unicode 字符的字符串都将失败。以下是解决该问题的两种 Swift 原生方法:

您可以利用 StringCharacter 序列的事实将字符串转换为数组,修改它,然后将数组转换回:

func replace(myString: String, _ index: Int, _ newChar: Character) -> String {
var chars = Array(myString) // gets an array of characters
chars[index] = newChar
let modifiedString = String(chars)
return modifiedString
}

replace("House", 2, "r")
// Horse

或者,您可以自己单步执行字符串:

func replace(myString: String, _ index: Int, _ newChar: Character) -> String {
var modifiedString = String()
for (i, char) in myString.characters.enumerate() {
modifiedString += String((i == index) ? newChar : char)
}
return modifiedString
}

因为它们完全在 Swift 中,所以它们都是 Unicode 安全的:

replace("🏠🏡🏠🏡🏠", 2, "🐴")
// 🏠🏡🐴🏡🏠

关于string - 如何用另一个替换字符串的第n个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24789515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com