[Java]文字列(String)を1文字ずつに分割した配列に変換するには?

Java

どうも、ちょげ(@chogetarou)です。

文字列(String)の1文字ずつに分割した配列に変換する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列(String)の1文字ずつに分割した配列に変換する方法は、3つあります。

toCharArray()

1つ目は、toCharArray()を使う方法です。

具体的には、「str.toCharArray()」のように、文字列からtoCharArray()を呼び出します。

char[] result = text.toCharArray();

上記のtoCharArray()は、呼び出した文字列を1文字ずつに分割したchar型の配列を戻り値として返します。

使用例

public class Main {
    public static void main(String[] args) throws Exception {
        String text = "Hello";
        char[] result = text.toCharArray();
        
        for (char c : result) {
            System.out.println(c);
        }
    }
}
出力:
H
e
l
l
o

split() ※Java8以降

2つ目は、split()を使う方法です。

まず、文字列からsplit()を呼び出します。

そして、split()の引数に空文字を指定します。

String[] result = text.split("");

上記のsplit()は、呼び出した文字列を1文字ずつに分割した配列を戻り値として返します。

使用例

public class Main {
    public static void main(String[] args) throws Exception {
        String text = "Hello";
        String[] result = text.split("");
        
        for (String c : result) {
            System.out.println(c);
        }
    }
}
出力:
H
e
l
l
o

split() + 正規表現

3つ目は、split()と正規表現を使う方法です。

まず、文字列からsplit()を呼び出します。

そして、split()の引数に「"(?!^)"」を指定します。

String[] result = text.split("(?!^)");

上記のsplit()は、呼び出した文字列を1文字ずつに分割した配列を戻り値として返します。

使用例

public class Main {
    public static void main(String[] args) throws Exception {
        String text = "Hello";
        String[] result = text.split("(?!^)");
        
        for (String c : result) {
            System.out.println(c);
        }
    }
}
出力:
H
e
l
l
o
スポンサーリンク

まとめ

文字列(string)を1文字ずつに分割した配列に変換する方法は、次の3つです。

  • toCharArray()を使う方法
    char[] result = text.toCharArray();
  • split()を使う方法(Java8以降)
    String[] result = text.split("");
  • split()と正規表現を使う方法
    String[] result = text.split(“(?!^)”);

コメント

タイトルとURLをコピーしました