ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

【Java】文字列を特定の文字で分割する方法

スポンサードリンク

Pythonでいうsplit、PHPでいうexplodeとかの処理をJavaだったらどうやるの?って話。


答えはsplitでした。

String str = "blue_fire_yellow";
String[] splitStr = str.split("_", 0);


split(の第一引数)で分割すると、値が配列で取得することができます。第二引数で分割した配列の取得したい要素を指定することができます。


全部取得したい場合は0にしてあげましょう。また0を指定すると配列化した時に空白文字の場合は取得しません。取得したい場合は-1を指定します。

import java.util.Arrays;

public class Main {
    public static void main(String[] args) throws Exception {
        String str = "blue_fire___yelllow__test___";
        String[] splitStrZero   = str.split("_", 0);
        String[] splitStrMinus = str.split("_", -1);
        
        // [blue, fire, , , yelllow, , test]
        System.out.println(Arrays.toString(splitStrZero));
        // [blue, fire, , , yelllow, , test, , , ]
        System.out.println(Arrays.toString(splitStrMinus));
    }
}


ただし、blue,fire,,,yellowのような取得の場合だと0を指定しても空白が取得できてしまいます。これには注意しないと。