替换范围中的数组



我有一个字符串数组["", "", "", "1"]

我想要一个所有空字符串都替换为零的数组-["0", "0", "0", "1"]

有没有内置的操作器、功能或方法可以帮助我做到这一点,而无需重新发明轮子?

如果您的转换需要字符串作为结果,TusharSharma的注释提供了一个完全回答您问题的解决方案(我不再重复,因为我希望他能输入它作为答案(。

然而,看看您的示例,您似乎处理的是数字字符串。对于记录,我建议您简单地考虑生成一个整数数组。

let s = ["", "", "", "1"]
let r = s.map{Int($0) ?? 0}

如果数字是双倍的:

let r2 = s.map{String(Double($0) ?? 0.0)}

使用数字可以让你轻松使用更高级的内置格式:

let r3 = s.map{String(format: "%.2f", Double($0) ?? 0.0)}

或者甚至使用一些能够使用区域设置的自定义数字格式化程序(更多信息(

最新更新