用字符串中的多个值替换多个字符

时间:2019-06-13 04:55:23

标签: swift replace

我必须替换字符串中的所有字符。

  

对于var str_Ran =“ ahsn45ss74d1a37adgt4t4h1fe”

现在我要替换角色

str_Ran = str_Ran.replaceAll("0", "Y")
str_Ran = str_Ran.replaceAll("5", "p")
str_Ran = str_Ran.replaceAll("8", "B")
str_Ran = str_Ran.replaceAll("7", "m")
str_Ran = str_Ran.replaceAll("4", "c")
str_Ran = str_Ran.replaceAll("1", "g")
str_Ran = str_Ran.replaceAll("3", "F")
str_Ran = str_Ran.replaceAll("6", "U")
str_Ran = str_Ran.replaceAll("2", "t")

我找不到替换字符的正确方法。

2 个答案:

答案 0 :(得分:1)

创建词典将所有应替换的字符按如下方式替换。然后枚举并使用replacingOccurrences(of:with:)  方法

var str_Ran: String = "ahsn45ss74d1a37adgt4t4h1fe"
var replacedStr: String {
    let dict = ["0": "Y","5": "p","8": "B","7": "m","4": "c","1": "g","3": "F","6": "U","2": "t"]
    return dict.reduce(str_Ran) { $0.replacingOccurrences(of: $1.key, with: $1.value) }
}

答案 1 :(得分:0)

您可以使用

  

replacingOccurrences

String类的方法

var str_Ran:String = "ahsn45ss74d1a37adgt4t4h1fe"
str_Ran.replacingOccurrences(of: "0", with: "Y")

依此类推