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