Javaの文字列を分割して配列にするサンプルです。
Stringクラスのsplitメソッドを使用します。
| 確認環境 ・Java 8 |
目次
splitメソッド(引数1つ)
| public String [ ] split (String regex) |
- 文字列が引数(文字列 or 正規表現)にマッチすると、そこで文字列を区切ります。
- 戻り値はStringの配列です。
- Stringクラスのメソッドです。
- 以下はJava8 API仕様のsplitメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#split-java.lang.String-
コード
splitメソッドで引数が1つの場合のサンプルです。
package test1;
public class Test1 {
public static void main(String[] args) {
//カンマとコロンがある文字列
String str1 = "0001:a,0002:b,0003:c";
// カンマで区切る
String array1[] = str1.split(",");
for (String a : array1) {
System.out.println(a); //「0001:a」と「0002:b」と「0003:c」
}
// カンマとコロンで区切る。[,:]は、, または:という正規表現
String array2[] = str1.split("[,:]");
for (String a : array2) {
System.out.println(a);
//「0001」と「a」と「0002」と「b」と「0003」と「c」
}
}
}
10行目は、splitメソッドで文字列をカンマで区切って配列にしています。
16行目は、splitメソッドで文字列を正規表現で区切って配列にしています。
splitメソッド(引数2つ)
| public String [ ] split (String regex, int limit) |
- 文字列が引数(文字列 or 正規表現)にマッチすると、そこで文字列を区切ります。
- 2つ目の引数は戻す配列の要素の数の上限になります。
- 文字列の分割は2つ目の引数-1回行われます。
- 以下はJava8 API仕様のsplitメソッド(引数2つ)のリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#split-java.lang.String-int-
コード
splitメソッドで引数が2つの場合のサンプルです。
package test1;
public class Test1 {
public static void main(String[] args) {
//カンマとコロンがある文字列
String str1 = "0001:a,0002:b,0003:c";
// 引数が2つ
String array1[] = str1.split(",",2);
for (String a : array1) {
System.out.println(a); // 「0001:a」と「0002:b,0003:c」
}
// 引数が2つ
String array2[] = str1.split(",",1);
for (String a : array2) {
System.out.println(a); // 「0001:a,0002:b,0003:c」
}
}
}
10行目は、2つ目の引数が2なので戻りの配列の要素数は2です。分割は1回行われています。
16行目は、2つ目の引数が1なので戻りの配列の要素数は1です。分割は0回です。
関連の記事
Java 文字列から文字列の一部を取得するサンプル(substring)
Java 文字列の長さを取得するサンプル(length)
Java 文字列の先頭と末尾の空白を取り除くサンプル(trim)
Java 文字列を置き換えるサンプル(replace)
Java 大文字と小文字を変換するサンプル(toLowerCaseとtoUpperCase)
Java 文字の位置を取得するサンプル(indexOfとlastIndexOf)
Java 文字列の始め/終わりを確認するサンプル(startsWithとendsWith)