2017-06-25 8 views
2

各行の後に空白が続き、行末まで入力したいと思っています。私はこれらの数字をすべて取り込み、配列に格納したいと考えています。正規表現を使用してこれをどのように達成できますか?空白で区切られた数字の行末までのマッチング方法は?

入力:4 5 6 7 9 8

出力:ARR = [4、5、6、7、9、8]

String list = scan.nextLine(); 
Pattern pattern = Pattern.compile(Regex); 
String[] matchRegex = pattern.split(list); 
+0

私はそれを試してみたかったので、私は正規表現の学習を始めました。私は代わりに、文字列の配列でそれをストロークし、それをループして整数の小刻みをかけます。 @KhalilM – CostLy10

答えて

2

Regexは区切り記号と一致する必要があります。区切り文字として空白を使用するので、単純に空白をRegexとして使うことができます。

Pattern pattern = Pattern.compile(" "); 
String[] matchRegex = pattern.split(list); 

また、あなたはまた、他の空白文字を一致させたい場合は、それが\sある空白のグループを使用することができます。コードは次のようになります。

Pattern pattern = Pattern.compile("\\s"); 

あなたが+を使用してRegexを拡張することができ空白が複数存在することができれば、それは「少なくとも一つ多くの無期限までに」と一致します。

Pattern pattern = Pattern.compile("\\s+"); 

あなたは、入力に対するあなたのRegexをテストするためにregex101を使用することができます。

2

あなたがスペースで分割を使用することができ以下のような:

String[] matchRegex = list.split("\\s+"); 

regex demo

関連する問題