を、私は、次のAWS
コストインスタンステーブルを解析しています:は、正規表現を使用してテーブルを解析 - Javaの
m1.small 1 1 1.7 1 x 160 $0.044 per Hour
m1.medium 1 2 3.75 1 x 410 $0.087 per Hour
m1.large 2 4 7.5 2 x 420 $0.175 per Hour
m1.xlarge 4 8 15 4 x 420 $0.35 per Hour
これらのコストを持つファイルがあります:
input = new Scanner(file);
String[] values;
while (input.hasNextLine()) {
String line = input.nextLine();
values = line.split("\\s+"); // <-- not what I want...
for (String v : values)
System.out.println(v);
}
しかしそれは私に与える:
は、m1.small
1
1
1.7
1
x
160
$0.044
per
Hour
これは私が望むものではありません...修正された解析済みのvalues
(正規表現付き)はl IKEこの:
['m1.small', '1', '1', '1.7', '1 x 160', '$0.044', 'per Hour']
何正しい結果を得るためには、右regex
でしょうか?テーブルは常に同じパターンを持つと仮定できます。
実際のデータはタブで区切られていますか?列が1つのスペースで区切られる場合がありますか? – Pietu1998
@ Pietu1998大抵...しかし必ずしもそうではありません...正規表現はより頑丈なものを生成するでしょう...なぜ私は '\\ t +'で解析するように動かなかったのですか?これらのファイルは膨大なので、欠落しているタブを修正するためにそれらのファイルを無意識に検索することがあります。 – cybertextron
'\\ s {2、}'を使用できますか? –