web-dev-qa-db-ja.com

Kotlinで文字列を配列に分割するにはどうすればよいですか?

ファイルから読み込んだ文字列を値の配列に分割する必要があります。文字列をコンマで分割したいので、たとえば、文字列が次のようになっている場合:

"name, 2012, 2017"

配列の値は次のとおりです。

  • 配列インデックス0-名前
  • 配列インデックス1-2012
  • 配列インデックス2-2017

私はJavaでこの例を見つけました:

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

Kotlinでどのようにできますか?

15
Michael F.
val strs = "name, 2012, 2017".split(",").toTypedArray()
27
JK Ly

「、」などの文字で分割された値の文字列がある場合:

 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()を使用して文字列の周りのスペースを削除することをお勧めします。文字列の末尾に "、"がある場合、1つのnullアイテムになるので、分割する前にこのコードでチェックできることを考慮してください。

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

リストを配列に変換する場合は、次のコードを使用します。

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

簡単です:

val string: String = "leo_Ana_John"
val yourArray: List<String> = string.split("_")

取得:yourArray [0] == leo、yourArray [1] == Ana、yourArray [2] == John

1
Thiago Silva