Kotlin replace 文字列を置換するサンプル

Kotlinの文字列を置換するサンプルサンプルです。

目次

サンプル replaceとは
  文字列を置き換える(replace)
  指定した文字や空白を削除する(replace)
  正規表現で文字を置き換える(replace)
  正規表現で最初の文字を置き換える(replaceFirst)

replaceとは

1つめの引数の文字列を2つめの引数の文字列に置き換えます。

以下は、Kotlin公式のreplaceのリンクです。
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/replace.html

文字列を置き換える(replace)

fun main() {
    val str1 = "あいうーあいう"

    // 2つめの引数が1文字
    println(str1.replace("あ", "A")) // AいうーAいう
    println(str1.replace("あい", "A")) // AうーAう

    // 2つめの引数が複数文字
    println(str1.replace("あ", "AB")) // ABいうーABいう
    println(str1.replace("あい", "AB")) // ABうーABう
}

replaceは、指定した文字を別の文字に全て置き換えます。

 

指定した文字や空白を削除する(replace)

replaceの2つめの引数に空文字を指定することで文字の削除に使用できます。

fun main() {
    // 指定の文字(う)を削除する
    val str1 = "あいうえお"
    println(str1.replace("う", "")) // あいえお

    // 半角空白を削除する(△あ△い△う△ +1△△)
    val str2 = " あ い う +1  "
    println(str2.replace(" ", "")) // あいう+1
    println(str2.replace(" ", "").length) // 5
}

 

正規表現で文字を置き換える(replace)

fun main() {
    val str1 = "あいうーあいう"
    var re1 = "[あう]".toRegex() //正規表現 「あ」または「う」
    println(str1.replace(re1, "a")) // aいaーaいa

    val str2 = "--12345--"
    var re2 = "[0-9]{5}".toRegex() //正規表現 0から9の5桁
    println(str2.replace(re2, "*****")) // --*****--

    val str3 = "--123451--" //数値が6桁
    var re3 = "[0-9]{5}".toRegex()
    println(str3.replace(re3, "*****")) // --*****1--

    val str4 = "--1234512345--" //2回マッチするので注意
    var re4 = "[0-9]{5}".toRegex()
    println(str4.replace(re4, "*****")) // --**********--
}

[あう]は、「あ」または「う」を意味する正規表現です。
[0-9]{5}は、数値0から9の5桁を意味する正規表現です。

正規表現で最初の文字を置き換える(replaceFirst)

replaceFirstは、一致した最初の文字を置き換えます。正規表現を使用できます。

fun main() {
    val str1 = "あいうーあいう"
    println(str1.replaceFirst("い","b")) // あbうーあいう

    val str5 = "--1234512345--"//replaceFirstは最初のマッチのみを置換
    var re5 = "[0-9]{5}".toRegex()
    println(str5.replaceFirst(re5, "*****"))//--*****12345--
}

[あう]は、正規表現で「あ」または「う」を意味します。

関連の記事

Kotlin substring 文字列を切り出す
Kotlin split 文字列を分割してリストにする

△上に戻る