Преобразование строкового массива в Котлин - PullRequest
0 голосов
/ 04 мая 2018

У меня есть следующая строка, и внутри строки вы можете видеть количество массивов. "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 голосов
/ 04 мая 2018

Если вы хотите преобразовать массив String в массив Int:

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

И преобразовать его в массив 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() }
0 голосов
/ 04 мая 2018

Если у вас есть строка с массивом. Следующий код должен дать вам то, что вы хотите.

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])
}
...