如何在 Kotlin 中将 String 拆分为数组?

2022-08-31 12:50:23

我需要将从文件中读入的字符串拆分为值数组。我想在逗号处拆分字符串,例如,如果字符串读取:

"name, 2012, 2017"

数组中的值将为:

  • 数组索引 0 - 名称
  • 数组索引 1 - 2012
  • 数组索引 2 - 2017

我在Java中发现了这个例子:

String[] stringArray = string.split(",");

我怎样才能在 Kotlin 中做到这一点?


答案 1
val strs = "name, 2012, 2017".split(",").toTypedArray()

答案 2

如果我们有一串值被任何字符拆分,例如“,”:

 val values = "Name1 ,Name2, Name3" // Read List from somewhere
 val lstValues: List<String> = values.split(",").map { it -> it.trim() }
 lstValues.forEach { it ->
                Log.i("Values", "value=$it")
                //Do Something
            }

如果存在,最好使用 trim() 删除字符串周围的空格。考虑一下,如果在字符串末尾有一个“,”,它会变成一个空项,所以可以在拆分之前用下面的代码检查它:

 if ( values.endsWith(",") )
     values = values.substring(0, values.length - 1)

如果要将列表转换为数组,请使用以下代码:

      var  arr = lstValues.toTypedArray()
      arr.forEach {  Log.i("ArrayItem", " Array item=" + it ) }