का उपयोग कर मैं एक विभाजक के रूप में अल्पविराम (,) का उपयोग कर एक स्ट्रिंग विभाजित है और किसी भी अल्पविराम के अंदर उद्धरण है कि अनदेखी करने के लिए है (")
जावा: एक स्ट्रिंग Regex
fieldSeparator : ,
fieldGrouper : "
स्ट्रिंग में बांट दें विभाजन के लिए है: "1","2",3,"4,5"
मैं इसे प्राप्त करने में सक्षम हूँ इस प्रकार है:
String record = "\"1\",\"2\",3,\"4,5\"";
String[] tokens = record.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
आउटपुट:
"1"
"2"
3
"4,5"
अब चुनौती यह है कि fieldGrouper (") विभाजन टोकन का हिस्सा नहीं होना चाहिए। मैं इसके लिए रेगेक्स को समझने में असमर्थ हूं।
विभाजन की उम्मीद उत्पादन होता है:
1
2
3
4,5
मुझे लगता है कि यह चार-दर-चार कर
यहाँ एक Java sample code है वास्तव में अधिक पठनीय और निश्चित रूप से तेज़ होगा। और एल्गोरिदम जितना आसान हो उतना आसान होता है। और '' 'अपवाद को संभालना आसान है जो संभवतः जल्दी या बाद में दिखाई देगा। – Dariusz
हम पूछ सकते हैं कि आप विकृत छद्म JSON इनपुट के साथ क्यों काम कर रहे हैं? उद्धरणों के साथ फंसेपन से निपटने में मुश्किल होती है और आपके लिए स्रोत को साफ करना बेहतर हो सकता है। –