है मेरे पास एक CSV फ़ाइल है (जिसे मैंने डिज़ाइन नहीं किया है और मैं अब नहीं बदल सकता और न ही मैं इसे कभी भी बदल सकता हूं) जिसमें निम्न प्रकार की रेखाएं हैं:डेटा को अल्पविराम में विभाजित कर सकते हैं जब डेटा में अल्पविराम
"Surname, Firstname", yes, no, somestring, whatever, etc
आप यहाँ देख सकते हैं, पहले ,
एक अल्पविराम है जिस पर मैं स्ट्रिंग विभाजित करना चाहते हैं नहीं है। ध्यान दें कि यह विशेष कॉमा उद्धरण चिह्नों के भीतर संलग्न है।
, एक सरल string.split(',')
स्पष्ट रूप से काम नहीं करेगा, के रूप में यह मुझे के बजाय 6.
ऊपर स्ट्रिंग के लिए लंबाई 7 की एक सरणी देना होगा वहाँ एक रास्ता यह चारों ओर पाने के लिए है? मैं इसके बजाय स्ट्रिंग को विभाजित करने के लिए रेगेक्स का उपयोग करने के बारे में सोच रहा था, लेकिन मैं ऐसे पैटर्न के बारे में सोचने के लिए रेगेक्स में पर्याप्त सक्षम नहीं हूं जो केवल उन अल्पविरामों पर विभाजित होगा जो उद्धरण चिह्नों के अंदर संलग्न नहीं हैं।
मैं प्रत्येक स्ट्रिंग चार को चार द्वारा पढ़कर इसे करने के लिए बदसूरत, हैकी तरीके सोच सकता हूं लेकिन यह एक अंतिम उपाय होना चाहिए क्योंकि मुझे यकीन है कि ऐसा करने का एक बेहतर तरीका है!
यह एक्सेल से .csv जैसा दिखता है। हमेशा मजा। अधिक मजेदार तब होता है जब डेटा में उद्धरण और कॉमा शामिल होते हैं ... –
यह वास्तव में एक्सेल से नहीं है, लेकिन हाँ, मज़ा! :) यह नेट पर किसी स्थान से है, मेरा प्रोग्राम फ़ाइल को पढ़ता है और इसे पार्स करने का प्रयास करता है। – AndrewC
एक समय में एक चरित्र को पढ़ना जरूरी नहीं है एक बदसूरत हैक। मैं एक सी # सीएसवी पार्सर खोजने की सलाह दूंगा, क्योंकि मुझे यकीन है कि ऐसी चीजें पहले से मौजूद हैं। –