1. 概要

文字列から文字を削除する必要があるかもしれません。 KotlinではStringsは不変であるため、文字列から文字を削除するために、実際には新しい文字を作成していることに注意してください。

この短いチュートリアルでは、Kotlinで文字列から文字を削除するためのいくつかの方法を見ていきます。

2. を使用してを置き換えます

Stringは文字のシーケンスです。 拡張子の置換関数を使用して、文字列内の特定の文字を空白にすることができます。古い文字のすべての出現箇所が削除された新しい文字列を返します。

val string = "Ba.eldung"
assertEquals("Baeldung", string.replace(".", ""))

3.3。 フィルタリングの使用

別の拡張機能を試してみましょう。 function filterNotは、述語と一致しない文字のみを含む文字列を返します。

val string = "Ba.eldung"
assertEquals("Baeldung", string.filterNot { it == '.' })

4. deleteAtを使用する

文字列から単一の文字を削除する次の方法は、StringBuilderを使用することです。

まず、文字列をStringBuilderコンストラクターに渡します。 それで、 deleteAtメソッドを使用できます。 指定されたインデックスの文字を削除しますこれから StringBuilder。 その後、新しいものを入手できますを使用して toString 関数:

val string = "Ba.eldung"
val stringBuilder = StringBuilder(string)
assertEquals("Baeldung", stringBuilder.deleteAt(2).toString())

5. removeRangeを使用する

removeRange もう1つの便利な拡張機能です 。 の一部を削除します与えられた範囲で。 この範囲は排他的であるため、提供された2番目のインデックスの文字は削除されません。

val string = "Ba.eldung"
assertEquals("Baeldung", string.removeRange(2, 3))

6. removeSuffixおよびremovePrefixを使用する

Kotlinには、文字列を操作するための便利な関数がいくつかあります。 文字列の先頭のみを削除する場合は、removePrefix関数を使用できます。 文字列が指定されたプレフィックスで始まる場合、関数はプレフィックスが削除されたこの文字列のコピーを返します。 それ以外の場合は、元の値を返します。

val string = "Baeldung"
assertEquals("aeldung", string.removePrefix("B"))
assertEquals("Baeldung", string.removePrefix("Z"))

文字列の終わりを削除するには、removeSuffixを使用できます。文字列が指定されたサフィックスで終わる場合、サフィックスが削除されたこの文字列のコピーを返します。

val string = "Baeldung"
assertEquals("Baeldun", string.removeSuffix("g"))
assertEquals("Baeldung", string.removeSuffix("Z"))

7. 結論

この記事では、Kotlinで文字列から文字を削除する最も一般的な方法を見てきました。

いつものように、サンプルコードはGitHubから入手できます。