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--
}
[あう]は、正規表現で「あ」または「う」を意味します。
関連の記事