Kotlin

【Kotlin入門】配列の中身を繋げるJoinと文字列を分解して配列にするSplit

「SpringBootのCharacterEncodingFilterで特定のURLパスの文字コードを変更する」の記事で、String 型の配列に入れている文字列を「|」の記号で繋げる処理を書きました。

SpringBootのCharacterEncodingFilterで特定のURLパスの文字コードを変更するKotlin と Sprint Boot の組み合わせでアプリを作っていて、外部から Shift_JIS(SJIS)の文字コードでリクエ...

これは、パターンマッチングの OR の条件のためでしたが、配列の中身を特定の文字で区切って繋げたいケースは出てきます。

逆に、特定の文字列をハイフンなどの文字で区切って分割したものを配列に格納したい場合もあるでしょう。

今回はそんな便利な機能を紹介します。

繋げる時はJOIN

PHP だと簡単、implode() の関数を利用すればすぐにできます。

区切り文字をなしにした場合は以下のような結果になります。

リラックマ

区切り文字を「!」にするならこんな感じ。

もちろん結果は以下の通り。

リ!ラ!ッ!ク!マ

Kotlin も同じく、配列の中身を連結する機能を備えています。

それが joinToString() です。

この場合は区切り文字を指定していないので「リラックマ」となります。

PHP の時と同じように「!」を区切り文字にしてみます。

同じく結果は「リ!ラ!ッ!ク!マ」になりました。

Java8 が登場する前には存在しなかった機能なので、Java1.7 時代は面倒だった部分も大きそうですね。

分割する時はSPLIT

では逆に、文字列を特定の文字で分割してみましょう。

PHP の場合は explode() を使うだけなので詳細は省略します。

Kotlin の場合は String の split() を使います。

うまく「!」でセパレートできたでしょうか。結果は以下の通りです。

[リ, ラ, ッ, ク, マ]