在 Kotlin 中如何将字符串拆分为数组?

新手上路,请多包涵

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

 "name, 2012, 2017"

数组中的值将是:

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

我在 Java 中找到了这个例子:

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

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

原文由 Michael F. 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 959
2 个回答
val strs = "name, 2012, 2017".split(",").toTypedArray()

原文由 JK Ly 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果我们有一串值被任何字符(如“,”)分割:

  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() 删除字符串周围的空格(如果存在)。考虑一下,如果在字符串末尾有一个“,”,它会生成一个空项,因此可以在 split 之前使用此代码检查它:

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

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

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

原文由 Hamed Jaliliani 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题