我有一个像下面这样的字符串
"12345678"
我要添加一个分隔符“,”
我希望输出为:
"12,345,678"
不喜欢成为:
"123,345,678"
,(因为这是从头算起的)
还是不喜欢成为:
",123"
从Swift到底如何做到这一点?
答案 0 :(得分:0)
按照this question的答案中所述使用NSNumberFormatter
可能会更好。
但是在某些情况下可能不起作用(例如String
太长,数字使用非标准数字)。
您可以使用一个简单的递归函数来执行此操作,该函数会反复剔除最后3个字符,并将其与已递归传递给同一函数的字符串的前半部分和,
进行分隔:
func commafy(_ str: String) -> String {
guard str.count > 3 else { return str }
return commafy(String(str.dropLast(3))) + "," + str.suffix(3)
}
示例
commafy("123") // "123"
commafy("1234") // "1,234"
commafy("12345") // "12,345"