Kotlin

时间:2018-05-04 00:05:59

标签: android arrays string kotlin integer

我有以下字符串,在字符串中你可以看到有多个数组。 "10, 20, 30, 40, 30, 20, 10, 5, 20, 30, 20, 30"

我想要做的是基本上需要在每个单独的字符串中划分这个字符串,并希望将它们转换为整数数组。

例如:String array = [“10”,“20”,“30”,“40”,“30”,“20”,“10”,“5”,“20”,“30”, “20”,“30”] - >整数数组= [10,20,30,40,30,20,10,5,20,30,20,30]。

2 个答案:

答案 0 :(得分:5)

如果要将String数组转换为Int数组:

val stringArray = arrayOf("10", "20", "30", "40", "30", "20", "10", "5", "20", "30", "20", "30")

使用map

将其转换为int数组
val intArray = stringArray.map { it.toInt() }

如果你想打印它:

print(stringArray)
print(intArray)



或者,如果要将“String”转换为int数组,则需要将其拆分并映射。

val inputString = "10, 20, 30, 40, 30, 20, 10, 5, 20, 30, 20, 30"
val intArray = inputString.split(", ").map { it.toInt() }

答案 1 :(得分:-1)

假设你的字符串中有一个数组。以下代码应该为您提供所需的内容。

val array = "[20, 30, 40, 30, 20, 10, 5, 20, 30, 20, 30]"
val items = array.replace("\\[".toRegex(), "").replace("\\]".toRegex(), "").replace("\\s".toRegex(), "").split(",".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
val results = IntArray(items.size)

for (i in items.indices) {
   results[i] = Integer.parseInt(items[i])
}