मैं निम्नलिखित AWS
लागत उदाहरण तालिका को पार्स कर रहा हूँ:regex का उपयोग कर एक मेज पार्स - जावा
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
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
वहाँ उन लागत के साथ एक फ़ाइल है
m1.small
1
1
1.7
1
x
160
$0.044
per
Hour
जो मैं नहीं चाहता ... एक सही पार्स किया गया values
(दाएं रेगेक्स के साथ) एल देखेंगे इस आइक:
['m1.small', '1', '1', '1.7', '1 x 160', '$0.044', 'per Hour']
क्या सही regex
आदेश सही परिणाम प्राप्त करने के लिए हो सकता है? कोई यह मान सकता है कि तालिका हमेशा एक ही पैटर्न होगी।
क्या वास्तविक डेटा टैब से अलग है? क्या ऐसे कई उदाहरण हो सकते हैं जहां कॉलम केवल एक स्थान से सीमित हो? – Pietu1998
@ Pietu1998 अधिकतर ... लेकिन जरूरी नहीं ... रेगेक्स कुछ और मजबूत पैदा करेगा ... कि मैं '\\ t +' के साथ पार्स क्यों नहीं चला गया। वे फ़ाइलें बहुत बड़ी हैं, इसलिए यह अनुपलब्ध टैब को ठीक करने के लिए उन फ़ाइलों को व्यर्थ खोज सकता है। – cybertextron
क्या आप '\\ s {2,}' का उपयोग कर सकते हैं? –