मैं एक फाइल को पार्स करने की कोशिश कर रहा हूं जिसमें प्रत्येक पंक्ति में सीमांकित मान हैं। जब मैंने पाइप स्प्लिटर को स्प्लिट विधि से नहीं छोड़ा, तो यह सही तरीके से काम नहीं करता था, लेकिन पाइप के नीचे से भाग जाने के बाद यह सही ढंग से काम करता था।
private ArrayList<String> parseLine(String line) {
ArrayList<String> list = new ArrayList<String>();
String[] list_str = line.split("\\|"); // note the escape "\\" here
System.out.println(list_str.length);
System.out.println(line);
for(String s:list_str) {
list.add(s);
System.out.print(s+ "|");
}
return list;
}
क्या कोई यह बता सकता है कि split()विधि के लिए पाइप के चरित्र को बचाये जाने की आवश्यकता क्यों है ?
Pattern.quote
Stringऔर एक regex देता हैStringजो इनपुट से मेल खाता है (यानी, यह आपके लिए सभी भागने का ख्याल रखता है)।