【问题标题】:Access Each Character in a String in Swift 2在 Swift 2 中访问字符串中的每个字符
【发布时间】:2015-10-12 16:38:41
【问题描述】:
let amount = "73.45"
我想要这个字符串中的每个数字都有四个不同的常量(字符串,而不是字符)。理想情况下:
let amount1 = amount[0] // 7
let amount2 = amount[1] // 3
let amount3 = amount[3] // 4
let amount4 = amount[4] // 5
我已经搜索并找不到任何有效的东西,我要么得到整个字符串,要么得到字符串的一个字符。任何建议都会有所帮助——xcode 和 swift 的新手
【问题讨论】:
标签:
string
swift
swift2
xcode7
【解决方案1】:
你总是可以使用
let characters = amount.characters
要获取字符串而不是字符,您可以:
let amount1 = String(characters[0])
对所有数字都这样做
let amounts = amount.characters.map {
return String($0)
}
要过滤掉分隔符,你可以
let amounts = amount.characters.map {
return String($0)
}.filter {
$0 != "."
}
请注意,如果您对输入数字进行了本地化,则应检查 NSLocale 以获取正确的小数分隔符,或者只删除所有非数字字符。一种方法是使用:
let amounts = amount.characters.filter {
$0 >= "0" && $0 <= "9"
}.map {
String($0)
}
您可以将您的数字放入单独的变量中,但我建议您不要这样做:
let amount1 = amounts[0]
let amount2 = amounts[1]
let amount3 = amounts[2]
let amount4 = amounts[3]