访问 Swift 中字符串中的每个字符 2

Access Each Character in a String in Swift 2

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

的新手

您始终可以使用

获取字符
let characters = amount.characters

要获取字符串而不是字符,您可以:

let amount1 = String(characters[0])

对所有数字都这样做

let amounts = amount.characters.map {
   return String([=12=])
}

要过滤掉分隔符,您可以

let amounts = amount.characters.map {
    return String([=13=])
}.filter {
    [=13=] != "."
}

请注意,如果您将输入的数字本地化,则应检查 NSLocale 以获取正确的小数点分隔符,或者只删除所有非数字字符。一种方法是使用:

let amounts = amount.characters.filter {
    [=14=] >= "0" && [=14=] <= "9"
}.map {
    String([=14=])
}

然后你可以将你的数字放入单独的变量中,但我建议不要这样做:

let amount1 = amounts[0]
let amount2 = amounts[1]
let amount3 = amounts[2]
let amount4 = amounts[3]