[Kotlin]文字列(string)の空白を全削除するには?

Kotlin

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

文字列(string)の空白を全削除する方法を紹介します。

スポンサーリンク

方法

文字列(string)の空白を全削除する方法は、2つあります。

filterNot()

ひとつは、filterNot()を使う方法です。

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

そして、filterNot()のクロージャーで「it.isWhitespace()」を返します。

//text=対象の文字列
val result = text.filterNot { it.isWhitespace() }

上記のfilterNot()は、対象の文字列(string)から空白を削除した文字列を生成します。

使用例

fun main() {
    val text = "AB   CD  E FG    "
    
    val result = text.filterNot { it.isWhitespace() }
    
    println(result)
}
出力:
ABCDEFG

replace()

もうひとつは、replace()を使う方法です。

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

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

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

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

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

//全角の空白も削除
val result = text.replace("[\\s ]".toRegex(), "")

使用例

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

使用例2

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

まとめ

文字列(string)の空白を全削除する方法は、次の2つです。

  • filterNot()を使う方法
    val result = text.filterNot { it.isWhitespace() }
  • replace()を使う方法
    val result = text.replace("[\\s ]".toRegex(), "")

コメント

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