Kotlinで文字列から指定した文字のインデックスを取得する方法について記載します。
目次
文字列から指定した文字のインデックスを取得する方法
指定した文字のインデックスを取得するには indexOf関数 を使用します。
指定した文字が存在しない場合は、-1 が返ります。
構文
変数.indexOf( 検索する文字, 開始インデックス, 大文字・小文字区別フラグ )
第一引数:必須項目。
第二引数:任意項目。デフォルトは 0 なので先頭から検索されます。
第三引数:任意項目。デフォルトは false なので、大文字・小文字は区別して検索されます。
1. 文字列の先頭から検索
文字列の先頭から検索する場合は、第一引数のみ指定して検索します。
実行例
1 2 3 4 5 6 7 8 9 |
val str = "abcabc" // 先頭から検索して最初に b が現れるインデックスを返す val idx1 = str.indexOf('b') println(idx1) // 1 // 大文字・小文字は区別して検索される val idx2 = str.indexOf('B') println(idx2) // -1 |
2. 指定したインデックスから検索
指定したインデックスから検索する場合は、第二引数に開始インデックス位置を指定します。
実行例
1 2 3 4 5 |
val str = "abcabc" // インデックス2番目の文字から検索して、最初に b が現れるインデックスを返す val idx3 = str.indexOf('b', 2) println(idx3) // 4 |
3. 大文字・小文字を区別しないで検索
大文字・小文字を区別しないで検索するには、第三引数に true を指定します。
実行例
1 2 3 4 5 |
val str = "abcabc" // 第三引数に true を指定すると大文字・小文字は区別しないで検索される val idx4 = str.indexOf('B',0,true) println(idx4) // 1 |