java - How to split a comma separated String while ignoring escaped commas? -
मुझे StringUtils.commaDelimitedListToStringArray फ़ंक्शन के एक विस्तारित संस्करण को लिखना होगा जो एक अतिरिक्त पैरामीटर प्राप्त करता है: escape char।
अल्पविरामित लिस्ट टॉस्ट्रिंगअरेरे ("परीक्षा, परीक्षा \\, परीक्षा \\, परीक्षण, परीक्षण", "\\") P> वापस आना चाहिए: ["परीक्षा", "परीक्षण, परीक्षण, परीक्षण", "परीक्षण"]
मेरा नियमित प्रयासों का उपयोग करते हुए स्ट्रिंग को विभाजित करने के लिए स्ट्रिंग.split () का प्रयोग करने का वर्तमान प्रयास है:
स्ट्रिंग [] सरणी = str.split ("[^ \\\\],"); लेकिन लौटा सरणी है:
["tes", "test \, test \, tes", "test"] कोई भी विचार?
नियमित अभिव्यक्ति
< कोड> [^ \\],
का अर्थ है "एक चरित्र से मिलान करें जो कि अल्पविराम के बाद बैकस्लैश नहीं है" - यही कारण है कि जैसे t, मिलान कर रहे हैं, क्योंकि t एक वर्ण है जो एक बैकस्लैश नहीं है
मुझे लगता है कि आपको किसी प्रकार का उपयोग करने की ज़रूरत है, एक , को पकड़ने के लिए जो पूर्ववर्ती चरित्र पर कब्जा किए बिना \ नहीं है, कुछ ऐसा
(? & Lt;! \\), (बीटीडब्ल्यू, ध्यान दें कि मेरे पास उद्देश्यपूर्ण रूप से दोगुना नहीं है- इसे और अधिक पठनीय बनाने के लिए बैकस्लैश से बचें)
Comments
Post a Comment