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

时间:2015-10-12 16:38:42

标签: string swift swift2 xcode7

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的新手

1 个答案:

答案 0 :(得分:4)

您始终可以使用

获取角色
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]