Javaの文字列の文字の位置を取得するサンプルです。
StringクラスのindexOfメソッドまたはlastIndexOfメソッドを使用します。
| 確認環境 ・Java 8 |
目次
indexOfメソッド(引数1つ)
| public int indexOf (String str) |
- 文字列の最初の文字から右に検索して引数に指定した文字列が出現した位置を返します。
- 最初の1文字目の位置は0です。
- 該当の文字がなかったときは-1を返します。
- Stringクラスのメソッドです。
- 以下はJava8 API仕様のindexOfメソッド(引数1つ)のリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#indexOf-java.lang.String-
コード
indexOfメソッドの引数が1つのサンプルです。
package test1;
public class Test1 {
public static void main(String[] args) {
//"あいう"が2つある
String str1 = "あいうabcあいう";
//"abc"の位置を取得
System.out.println(str1.indexOf("abc")); // 3
//文字列を左から見て最初に出現する"あいう"の位置を取得
System.out.println(str1.indexOf("あいう")); // 0
//対象の文字列が存在しない場合-1が返る
System.out.println(str1.indexOf("あいえ")); // -1
}
}
10,13行目は、文字列を左から見て最初に出現する文字列の位置を取得しています。
16行目は、対象の文字列が存在しないので-1が返ります。
indexOfメソッド(引数2つ)
| public int indexOf (String str, int fromIndex) |
- 文字列の最初の文字から右に検索して引数に指定した文字列が出現した位置を返します。
- 2つ目の引数が検索開始位置になります。
- 以下はJava8 API仕様のindexOfメソッド(引数2つ)のリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#indexOf-java.lang.String-int-
コード
indexOfメソッドの引数が2つのサンプルです。
package test1;
public class Test1 {
public static void main(String[] args) {
//"あいう"が2つある
String str1 = "あいうabcあいう";
// 上記2のサンプル
System.out.println(str1.indexOf("あいう",2)); // 6
}
}
10行目は、2つ目の引数が検索開始位置です。
lastIndexOfメソッド(引数1つ)
| 1 public int lastIndexOf (String str) |
- 文字列の最後の文字から左に検索して引数に指定した文字列が出現した位置を返します。
- 最初の1文字目の位置は0です
- 該当の文字がなかったときは-1を返します。
- Stringクラスのメソッドです。
- 以下はJava8 API仕様のlastIndexOfメソッド(引数1つ)のリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#lastIndexOf-java.lang.String-
コード
lastIndexOfメソッドの引数が1つのサンプルです。
package test1;
public class Test1 {
public static void main(String[] args) {
//"あいう"が2つある
String str1 = "あいうabcあいう";
//"abc"の位置を取得
System.out.println(str1.lastIndexOf("abc")); // 3
//文字列を右から見て最初に出現する"あいう"の位置を取得
System.out.println(str1.lastIndexOf("あいう")); // 6
//対象の文字列が存在しない場合-1が返る
System.out.println(str1.lastIndexOf("あいえ")); // -1
}
}
10,13行目は、文字列を右から見て最初に出現する文字列の位置を取得しています。
16行目は、対象の文字列が存在しないので-1が返ります。
lastIndexOfメソッド(引数2つ)
| public int lastIndexOf (String str, int fromIndex) |
- 文字列の最後の文字から左に検索して引数に指定した文字列が出現した位置を返します。
- 2つ目の引数が検索開始位置になります。
- 以下はJava8 API仕様のlastIndexOfメソッド(引数2つ)のリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#lastIndexOf-java.lang.String-int-
コード
lastIndexOfメソッドの引数が2つのサンプルです。
package test1;
public class Test1 {
public static void main(String[] args) {
//"あいう"が2つある
String str1 = "あいうabcあいう";
// 上記2のサンプル
System.out.println(str1.lastIndexOf("あいう",2)); // 0
}
}
10行目は、2つ目の引数が検索開始位置です。
関連の記事
Java 文字列から文字列の一部を取得するサンプル(substring)
Java 文字列の長さを取得するサンプル(length)
Java 文字列の先頭と末尾の空白を取り除くサンプル(trim)
Java 文字列を置き換えるサンプル(replace)
Java 大文字と小文字を変換するサンプル(toLowerCaseとtoUpperCase)
Java 文字列を分割して配列にするサンプル(split)
Java 文字列の始め/終わりを確認するサンプル(startsWithとendsWith)