আমি এমন একটি ফাইল পার্স করার চেষ্টা করছি যাতে পাইপের সীমানাঙ্কিত মানগুলির সাথে প্রতিটি লাইন থাকে। আমি বিভক্ত পদ্ধতিতে পাইপ ডিলিমেটারটি এড়াতে না পারলে এটি সঠিকভাবে কাজ করে না, তবে নীচের মতো পাইপটি পালানোর পরে এটি সঠিকভাবে কাজ করেছিল।
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এবং একটি রেজেক্স দেয়Stringযা ইনপুটটির সাথে মেলে (যেমন এটি আপনার জন্য সমস্ত পালানোর যত্ন নেয়)।