t0r*_*199 12 arrays string int swift
我想知道如何在Swift中转换Int数组中的String.在Java中,我总是这样做:
String myString = "123456789";
int[] myArray = new int[myString.lenght()];
for(int i=0;i<myArray.lenght;i++){
myArray[i] = Integer.parseInt(myString.charAt(i));
}
Run Code Online (Sandbox Code Playgroud)
谢谢大家的帮助!
rin*_*aro 17
let str = "123456789"
let intArray = map(str) { String($0).toInt() ?? 0 }
Run Code Online (Sandbox Code Playgroud)
map()迭代Characters instrString($0)转换Character为String.toInt()转换String为Int.如果失败(??),请使用0.如果您更喜欢for循环,请尝试:
let str = "123456789"
var intArray: [Int] = []
for chr in str {
intArray.append(String(chr).toInt() ?? 0)
}
Run Code Online (Sandbox Code Playgroud)
或者,如果你想迭代以下的索引String:
let str = "123456789"
var intArray: [Int] = []
for i in indices(str) {
intArray.append(String(str[i]).toInt() ?? 0)
}
Run Code Online (Sandbox Code Playgroud)
Leo*_*bus 11
您可以使用flatMap将字符转换为字符串,并将字符串强制转换为整数:
斯威夫特2或3
let string = "123456789"
let digits = string.characters.flatMap{Int(String($0))}
print(digits) // [1, 2, 3, 4, 5, 6, 7, 8, 9]"
Run Code Online (Sandbox Code Playgroud)
斯威夫特4
let string = "123456789"
let digits = string.flatMap{Int(String($0))}
print(digits) // [1, 2, 3, 4, 5, 6, 7, 8, 9]"
Run Code Online (Sandbox Code Playgroud)
Swift 4.1
let digits = string.compactMap{Int(String($0))}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16016 次 |
| 最近记录: |