Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

Kotlin辞典

  1. トップページ
  2. Kotlin辞典
  3. 文字列.replace() / trim()

文字列.replace() / trim()

文字列内の特定の部分を置換したり、文字列の前後から空白や指定した文字を取り除くための関数です。

構文
// 文字列の一部を置換します。
文字列.replace(oldValue: String, newValue: String, ignoreCase: Boolean = false)

// 文字列の前後から空白を取り除きます。
文字列.trim()
文字列.trimStart()  // 先頭のみ
文字列.trimEnd()    // 末尾のみ
メソッド一覧
メソッド概要
replace(oldValue, newValue, ignoreCase)一致するすべての文字列を置換します。大文字小文字を区別するかどうかを指定できます。
replace(regex: Regex, replacement: String)正規表現にマッチした部分をすべて置換します。
replaceFirst(oldValue, newValue)最初に一致した箇所だけを置換します。
trim()文字列の前後にある空白文字(半角スペース・タブ・改行など)をすべて除去します。
trimStart()文字列の先頭にある空白文字のみを除去します。
trimEnd()文字列の末尾にある空白文字のみを除去します。
trim(predicate)ラムダで指定した条件に一致する文字を前後から除去します。
サンプルコード
fun main() {
    // 特定の文字列を置換します。
    val text = "Hello, World! Hello, Kotlin!"
    val replaced = text.replace("Hello", "Hi")
    println(replaced) // Hi, World! Hi, Kotlin!

    // 大文字小文字を無視して置換します。
    val noCase = text.replace("hello", "Hey", ignoreCase = true)
    println(noCase) // Hey, World! Hey, Kotlin!

    // 最初の一致箇所だけ置換します。
    val firstOnly = text.replaceFirst("Hello", "Greetings")
    println(firstOnly) // Greetings, World! Hello, Kotlin!

    // 正規表現で置換します。
    val digits = "abc123def456"
    val noDigits = digits.replace(Regex("[0-9]+"), "#")
    println(noDigits) // abc#def#

    // 前後の空白を取り除きます。
    val padded = "   Kotlin   "
    println(padded.trim())      // "Kotlin"
    println(padded.trimStart()) // "Kotlin   "
    println(padded.trimEnd())   // "   Kotlin"

    // 条件に一致する文字を除去します。
    val slashed = "///path/to/file///"
    println(slashed.trim('/')) // path/to/file
}
概要

『replace()』は文字列内で一致するすべての部分を新しい文字列に置換します。デフォルトでは大文字小文字を区別しますが、『ignoreCase = true』を指定すると区別しなくなります。正規表現を使う場合は『Regex』オブジェクトを第1引数に渡してください。

『trim()』はデフォルトで半角スペース・タブ・改行などの空白文字を取り除きます。ラムダを引数に渡すと除去する文字の条件を自由に指定できます。これらのメソッドはすべて新しい文字列を返し、元の文字列は変更されません。Kotlinの文字列はイミュータブルです。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。