मेरे पास सी # में एक स्ट्रिंग है और 65 से कहें, विशिष्ट लाइन से टेक्स्ट प्राप्त करना चाहते हैं। और अगर फ़ाइल में इतनी सारी लाइनें नहीं हैं तो मैं "" प्राप्त करना चाहता हूं। यह कैसे करना है?सी # में एक स्ट्रिंग से विशिष्ट रेखा कैसे प्राप्त करें?
उत्तर
त्वरित और आसान, यह मानते हुए \ r \ n या \ N आप अपने स्ट्रिंग पर एक System.IO.StringReader
इस्तेमाल कर सकते हैं अपने न्यू लाइन अनुक्रम
string GetLine(string text, int lineNo)
{
string[] lines = text.Replace("\r","").Split('\n');
return lines.Length >= lineNo ? lines[lineNo-1] : null;
}
यदि आपके पास पहले से एक स्ट्रिंग उदाहरण है, तो आप प्रत्येक पंक्ति को विभाजित करने के लिए String.Split
का उपयोग कर सकते हैं और जांच सकते हैं कि लाइन 65 उपलब्ध है और यदि ऐसा है तो इसका उपयोग करें।
यदि सामग्री एक स्ट्रिंग सरणी प्राप्त करने के लिए File.ReadAllLines
फ़ाइल का उपयोग करती है और फिर पहले बताई गई एक ही जांच करें। यह छोटी फाइलों के लिए अच्छी तरह से काम करेगा, अगर आपकी फ़ाइल एक समय में एक पंक्ति को पढ़ने पर विचार करें।
using (var reader = new StreamReader(File.OpenRead("example.txt")))
{
reader.ReadLine();
}
एक विशिष्ट फ़ाइल संरचना और निचले स्तर के फ़ाइल संचालन का लाभ लेने के अलावा, मैं थेरेस किसी भी तेज़ तरीका से, 64 लाइनों को पढ़ने के लिए उन्हें त्यागने और फिर 65 वीं लाइन पढ़ सकते हैं और इसे रखने के नहीं लगता। प्रत्येक चरण में, आप आसानी से जांच सकते हैं कि आपने पूरी फ़ाइल पढ़ ली है या नहीं।
है। फिर आप ReadLine()
का उपयोग तब तक कर सकते हैं जब तक आप जिस पंक्ति को आप चाहते थे या स्ट्रिंग से बाहर नहीं पहुंचे।
सभी लाइनों एक अलग लंबाई हो सकता था, वहाँ जब आप Split()
एक स्ट्रिंग आप इसे नकल है, जो भी स्मृति की खपत दोगुना हो जाएगा सीधे लाइन 65.
के लिए कूद करने के लिए कोई शॉर्टकट है।
द स्ट्रिंग। Split ("\ n" .ToCharArray()) [64]
इंडेक्स-आउट-ऑफ-बाउंड त्रुटि के लिए प्रवण – Amsakanna
यह लाइन 65 लौटाएगा, और आपको वातावरण में सभी लौटाई गई लाइनों की शुरुआत में '\ r' मिलेगा, जहां पर्यावरण। न्यूलाइन" \ r \ n "(विंडोज़) है । – EventHorizon
हाँ, मैं उस उत्तर पर जल्दी था। हालांकि सामान्य विचार एक कामकाजी है। सिवाय इसके कि जब यह हजारों लाइनों के तार आता है तो यह धीमा होता है। जब नई लाइनों की बात आती है, तो यह स्ट्रिंग के स्रोत पर निर्भर करता है। अगर यह केवल \ n के बिना लिखा गया है, तो यह काम नहीं करेगा। स्ट्रिंग का प्रारूप पर्यावरण पर निर्भर नहीं है, है ना? नियमित अभिव्यक्ति इस मामले में नौकरी करेगी, लेकिन धीमी है। – AlexanderMP
आप क्या कर सकते हैं, न्यूलाइन चरित्र के आधार पर स्ट्रिंग को विभाजित करें।
string[] strLines = yourString.split(Environment.NewLine);
if(strLines.Length > lineNumber)
{
return strLines[lineNumber];
}
यह काम नहीं करता है, हम स्ट्रिंग को char [] में परिवर्तित नहीं कर सकते हैं। – savi
private static string ReadLine(string text, int lineNumber)
{
var reader = new StringReader(text);
string line;
int currentLineNumber = 0;
do
{
currentLineNumber += 1;
line = reader.ReadLine();
}
while (line != null && currentLineNumber < lineNumber);
return (currentLineNumber == lineNumber) ? line :
string.Empty;
}
- 1. सी में फ़ाइल से एक विशिष्ट रेखा fgets() कैसे करें?
- 2. सी # स्ट्रिंग से एक शून्य समाप्त स्ट्रिंग कैसे प्राप्त करें?
- 3. सी #: स्ट्रिंग में स्ट्रिंग की लंबाई कैसे प्राप्त करें []
- 4. सी ++ प्रोग्राम में त्रुटि रेखा संख्या कैसे प्राप्त करें
- 5. क्षितिज से एक रेखा का कोण प्राप्त करें
- 6. सी # में स्ट्रिंग से सबस्ट्रिंग कैसे प्राप्त करें?
- 7. सी # में स्ट्रिंग से केवल अक्षरों को कैसे प्राप्त करें?
- 8. एक रेखा खंड एक विशिष्ट दूरी
- 9. विशिष्ट रेखा पर एक्सकोड में चेतावनी को कैसे अक्षम करें?
- 10. सी # टेक्स्टबॉक्स से स्ट्रिंग प्राप्त करें
- 11. एसक्यूएल में एक स्ट्रिंग से महीने कैसे प्राप्त करें?
- 12. जेएस में एक स्ट्रिंग से हेक्स पूर्णांक कैसे प्राप्त करें?
- 13. डेटाटेबल से एक विशिष्ट कॉलम वैल्यू कैसे प्राप्त करें?
- 14. कनेक्शन कैसे प्राप्त करें डेटाबेस से स्ट्रिंग
- 15. स्कैला - एक स्ट्रिंग से कक्षा प्राप्त करें
- 16. एक स्ट्रिंग को सी # में एक विशिष्ट दिनांक समय प्रारूप में कैसे परिवर्तित करें?
- 17. रेगेक्स: स्ट्रिंग से शब्द कैसे प्राप्त करें (सी #)
- 18. सी # प्रतिबिंब: स्ट्रिंग से वर्ग संदर्भ कैसे प्राप्त करें?
- 19. एक अवधि की रेखा ऊंचाई कैसे प्राप्त करें?
- 20. सी #: किसी निश्चित संस्कृति से संसाधन स्ट्रिंग कैसे प्राप्त करें
- 21. सी में एक स्ट्रिंग पर फिर से कैसे करें?
- 22. जावा में एचटीएमएल से विशिष्ट मूल्य कैसे प्राप्त करें?
- 23. सभी उपयोगकर्ताओं को एक विशिष्ट भूमिका में कैसे प्राप्त करें?
- 24. जेडीबीसी में एक विशिष्ट अपवाद कैसे प्राप्त करें?
- 25. url से json स्ट्रिंग कैसे प्राप्त करें?
- 26. URL स्ट्रिंग से पैरामीटर कैसे प्राप्त करें?
- 27. स्ट्रिंग ऑब्जेक्ट से System.IO.Stream कैसे प्राप्त करें
- 28. क्वेरी स्ट्रिंग से # मान कैसे प्राप्त करें?
- 29. विशिष्ट संस्कृति मुद्रा पैटर्न कैसे प्राप्त करें
- 30. जावास्क्रिप्ट: विशिष्ट स्ट्रिंग
क्या बजाय Environment.Newline का उपयोग कर के बारे में? –
स्ट्रिंग। स्प्लिट() केवल चार स्वीकार करता है, और यदि आप पर्यावरण को पास करते हैं। न्यूलाइन। तोछारएरे() हर दूसरी लाइन खाली हो जाएगी (संपादित करें: विंडोज़ में, यूनिक्स ठीक काम करेगा) – EventHorizon
स्ट्रिंगस्प्लिटऑप्शन। रीमूवइएक्ट्रीएन्ट्री –