[Java] charAt 文字列から1文字を取得する

Javaの文字列から1文字を取得するサンプルです。

目次

サンプル charAtとは
  文字列からchar型で1文字を取得する
  ループで1文字ずつ見るサンプル
  文字列からString型で1文字を取得する(substring)

charAtとは

public char charAt(int index)
  • 文字列のうち、引数の位置にある文字をchar型で返します。
  • 文字列の最初の1文字目の位置は0です。
  • 引数が範囲外のときは、IndexOutOfBoundsExceptionの例外が発生します。
  • 引数がない場合は、コンパイルエラーになります。

文字列からchar型で1文字を取得する

package test1;
 
public class Test1 {
	public static void main(String[] args) {
 
		String a = "ABあい";

		System.out.println(a.charAt(0)); // A

		System.out.println(a.charAt(1)); // B
		
		System.out.println(a.charAt(2)); // あ
		
		System.out.println(a.charAt(a.length()-1)); //い
		
//		System.out.println(a.charAt()); // コンパイルエラー
		
//		System.out.println(a.charAt(9)); // IndexOutOfBoundsException
	}
}

8~12行目は引数の位置にある文字を返します。最初の1文字目は0から始まります。
14行目は最後の文字を取得しています。lengthで文字列の長さを取得して1引きます。
16行目は引数がない場合です。コンパイルエラーになります。
18行目は引数が範囲外の場合です。IndexOutOfBoundsExceptionの例外が発生します。

ループで1文字ずつ見る

package test1;

public class Test1 {
    public static void main(String[] args) {
    	String str1 = "ABあい"; 
    	String outMoji = "";
    	
        for (int i = 0; i < str1.length(); i++) {
            if (str1.charAt(i) == 'あ') {
                continue; 
            }
            outMoji = outMoji + str1.charAt(i);
        }
        System.out.println(outMoji); // ABい
    }
}

8行目は、for文で5行目の文字の数だけループします。
9行目は、charAtメソッドで1文字ずつ値を判定しています。該当した場合は10行目のcontinueで8行目に戻ります。charAtメソッドの戻り値はchar型なので、「あ」はシングルコーテーションで括ります。
14行目は、処理結果が表示されます。

以下はJava8 API仕様のcharAtメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#charAt-int-

文字列からString型で1文字を取得する(substring)

public String substring(開始位置, 終了位置)
  • 1つめの引数の「開始位置」から2つめの引数の「終了位置」の前にある文字までを返します。
  • 最初の1文字目の位置は0です。
package test1;
 
public class Test1 {
	public static void main(String[] args) {
 
		String a = "あいうえお";

		System.out.println(a.substring(0, 1)); // あ
		System.out.println(a.substring(1, 2)); // い
		System.out.println(a.substring(2, 3)); // う		

	}
}

8~10行目は、指定の位置から1文字取得しています。

以下はJava8 API仕様のsubstringメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#substring-int-int-

関連の記事

Java replace 文字列を置換するサンプル
Java 文字列の位置を取得(indexOf/lastIndexOf)
Java substring 文字列を切り出す

△上に戻る