|
||||||||||||||||||||||
|
ホーム > Java の正規表現 (Regular Expression) > 正規表現による文字列のスプリット 正規表現による文字列のスプリット正規表現を利用した文字列のスプリット方法について説明します。 こうした方法をしらないと、正規表現を知っていれば一瞬でできることも、自前でせっせと面倒な関数を書くことになってしまいます。 正規表現で split する「カンマあるいは空白文字で文字列を区切り、文字列の配列にする」にはどうしたらよいでしょうか。 自前で関数を書いてもやれないことはありませんが、やれタブを区切り文字として忘れた、とか、スペースが思った以上に入っていた、とか、 考慮しないといけないことがあって案外面倒だったりします。 こうした場合、正規表現を使えば簡単に実現できます。 import java.util.regex.Pattern;
public class RegExpTest1 {
public static void main(String[] args) {
Pattern p = Pattern.compile("[,\\s]+");
String[] result = p.split("1, 2, 3 4 , 5");
for (int i=0; i<result.length; i++){
System.out.println("[" + result[i] + "]");
}
}
}
上の例では、パターン文字列として [,\s]+ を指定しています。 これによって、「カンマ (,) または空白文字 (\s) がひとつ以上 (+) で区切る」ということを指定したことになります。 実行結果は次の通りです。 [1] [2] [3] [4] [5] 確かに区切り文字で区切れていることがわかりますね。 ホーム > Java の正規表現 (Regular Expression) > 正規表現による文字列のスプリット |
|
© 2010 Java 入門 |
|||||||||||||||||||