[Kotlin]文字列(string)の空白を置換するには?

Kotlin

どうも、ちょげ(@chogetarou)です。

文字列(string)の空白を置換する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列(string)の空白を置換するには、replace()を使います。

まず、文字列からreplace()を呼び出します。

そして、replace()の第1引数に「\\s」、第2引数に置換後の文字列を指定します。

//text=対象の文字列, replacement=置換後の文字列
val result = text.replace("\\s+".toRegex(), replacement)

上記のreplace()は、対象の文字列(string)の半角の空白を全て置換した文字列を生成します。

また、全角の空白も含めて置換するには、replace()の第1引数に「”[\\s ]".toRegex()」(\\sの後に全角の空白を入力)、第2引数に空文字を指定します。

//全角の空白も置換
val result = text.replace("[\\s ]+".toRegex(), replacement)

この記事で紹介した方法は、連続した複数の空白をまとめて置換します。

もし、連続した複数の空白を1つずつ置換したい場合は、replace()の第1引数の文字列内にある「+」を取り除きます。

//空白を1つずつ置換したい場合
val result = text.replace("\\s".toRegex(), replacement)
val result = text.replace("[\\s ]".toRegex(), replacement)

使用例

fun main() {
    val text = "AB   CD E FG  "
    
    val result = text.replace("\\s+".toRegex(), "*")
    
    println(result)
}
出力:
AB*CD*E*FG*

使用例2

fun main() {
    val text = "AB   CD    E FG    "
    
    val result = text.replace("[\\s ]+".toRegex(), "*")
    
    println(result)
}
出力:
AB*CD*E*FG*

コメント

タイトルとURLをコピーしました