[Kotlin]文字列(string)の特定の文字を削除するには?

Kotlin

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

文字列(string)の特定の文字を削除する方法を紹介します。

スポンサーリンク

方法

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

replace()

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

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

そして、replace()の第1引数に削除する文字の文字列、第2引数に空文字(””)を指定します。

//text=対象の文字列, rm=削除する文字の文字列
val result = text.replace(rm, "")

上記のreplace()は、対象の文字列(string)から第1引数の文字を削除した文字列を返します。

もし、特定の文字を正規表現で指定したい場合は、replace()の第1引数には正規表現のパターンを指定します。

//pattern=正規表現のパターン
val result = text.replace("pattern".toRegex(), "")

使用例

fun main() {
    val text: String = "Hello,World"
    
    val result = text.replace("l", "")
    
    println(result)
}
出力:
Heo,Word

filterNot()

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

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

そして、filterNot()のクロージャーで、「it」と削除する文字を「==」で比較した条件式を返します。

//text=対象の文字列, rm=削除する文字の文字列
val result = text.filterNot { it == rm }

上記のfilterNot()は、対象の文字列(string)から特定の文字を削除した文字列を返します。

使用例

fun main() {
    val text: String = "Hello,World"
    
    val result = text.filterNot { it == 'l' }
    
    println(result)
}
出力:
Heo,Word

まとめ

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

  • replace()を使う方法
    val result = text.replace(rm, "")
  • filterNot()を使う方法
    val result = text.filterNot { it == rm }

コメント

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