読者です 読者をやめる 読者になる 読者になる

ITの隊長のブログ

ITの隊長のブログです。いや、まだ隊長と呼べるほどには至っていないけど、日々がんばります。CakePHPとPlayFrameworkを使って仕事しています。最近はAngular2をさわりはじめたお(^ω^ = ^ω^)

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

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を指定しても空白が取得できてしまいます。これには注意しないと。