访问 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]
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]