मैं स्ट्रिंग के पहले 250 शब्द कैसे प्राप्त करूं?एक स्ट्रिंग के पहले 250 शब्द प्राप्त करें?
उत्तर
आपको स्ट्रिंग को विभाजित करने की आवश्यकता है। आप पैरामीटर के बिना overload का उपयोग कर सकते हैं (व्हाइटस्पेस ग्रहण किए जाते हैं)।
IEnumerable<string> words = str.Split().Take(250);
ध्यान दें कि आप Enumerable.Take
के लिए using System.Linq
जोड़ने की जरूरत है।
आप ToList()
उपयोग कर सकते हैं या ToArray()
ro क्वेरी से एक नया संग्रह बनाने या स्मृति को बचाने और इसे सीधे गणना:
foreach(string word in words)
Console.WriteLine(word);
अद्यतन
चूंकि यह काफी लोकप्रिय हो रहा है मैं निम्नलिखित एक्सटेंशन जोड़ रहा हूं जो Enumerable.Take
दृष्टिकोण से अधिक कुशल है और इसके बजाय संग्रह (स्थगित निष्पादित) क्वेरी।
यह String.Split
का उपयोग करता है जहां white-space characters को विभाजक माना जाता है यदि विभाजक पैरामीटर शून्य है या इसमें कोई वर्ण नहीं है। लेकिन विधि भी अलग सीमांकक पारित करने के लिए अनुमति देता है:
public static string[] GetWords(
this string input,
int count = -1,
string[] wordDelimiter = null,
StringSplitOptions options = StringSplitOptions.None)
{
if (string.IsNullOrEmpty(input)) return new string[] { };
if(count < 0)
return input.Split(wordDelimiter, options);
string[] words = input.Split(wordDelimiter, count + 1, options);
if (words.Length <= count)
return words; // not so many words found
// remove last "word" since that contains the rest of the string
Array.Resize(ref words, words.Length - 1);
return words;
}
यह आसानी से इस्तेमाल किया जा सकता: टिम जवाब देने के लिए
string str = "A B C D E F";
string[] words = str.GetWords(5, null, StringSplitOptions.RemoveEmptyEntries); // A,B,C,D,E
"अगर विभाजक पैरामीटर शून्य है या इसमें कोई वर्ण नहीं है, तो सफेद-स्पेस वर्णों को डिलीमीटर माना जाता है।" –
+1 ... यदि प्रश्न वास्तविक होगा तो स्पेस/व्हाइटस्पेस/सेपरेटर्स के लिए कुछ खोज अधिक उपयुक्त होंगे (जैसे "\ w + \ s"), संभावित रूप से 'उपज रिटर्न' के साथ मिलकर पहले 250 शब्दों को पढ़ने के लिए नहीं। –
@AlexeiLevenkov: ध्यान दें कि तर्क के बिना 'स्प्लिट' 'स्प्लिट ('') 'जैसा नहीं है। यह ['char.IsWhiteSpace'] (http://msdn.microsoft.com/en-us/library/t809ektx.aspx) आंतरिक रूप से उपयोग करता है जिसमें एकाधिक वर्ण शामिल हैं। –
yourString.Split(' ').Take(250);
मुझे लगता है। आपको अधिक जानकारी प्रदान करनी चाहिए।
string testString = "The quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dogThe quick brown fox jumps over the lazy dog."
string firstWords = Regex.Match(testString, @"^(\w+\b.*?){250}").ToString();
अलावा, आप यही कोशिश कर सकते हैं है
IEnumerable<string> words = str.Split().Take(250);
StringBuilder firstwords = new StringBuilder();
foreach(string s in words)
{
firstwords.Append(s + " ");
}
firstwords.Append("...");
Console.WriteLine(firstwords.ToString());
स्ट्रिंग.जॉइन ("", yourstring.Split()। ले लें (250)। टोएरे())
इसे आजमाएं:
public string TakeWords(string str,int wordCount)
{
char lastChar='\0';
int spaceFound=0;
var strLen= str.Length;
int i=0;
for(; i<strLen; i++)
{
if(str[i]==' ' && lastChar!=' ')
{
spaceFound++;
}
lastChar=str[i];
if(spaceFound==wordCount)
break;
}
return str.Substring(0,i);
}
टेक() को कॉल किए बिना यह संभव है।
string[] separatedWords = stringToProcess.Split(new char[] {' '}, 250, StringSplitOptions.RemoveEmptyEntries);
कौन सा भी सिर्फ स्थान की तुलना में "" अधिक के आधार पर बंटवारे की अनुमति देता है और इसलिए घटनाओं को ठीक करता है जब रिक्त स्थान को गलत तरीके से इनपुट में याद कर रहे हैं।
string[] separatedWords = stringToProcess.Split(new char[] {' ', '.', ',' ':', ';'}, 250, StringSplitOptions.RemoveEmptyEntries);
StringSplitOptions.None
का उपयोग करें, यदि आप इसके बजाय खाली तार वापस लौटना चाहते हैं।
- 1. जावास्क्रिप्ट कर्सर से पहले शब्द प्राप्त करें
- 2. विभाजक से पहले पहली स्ट्रिंग प्राप्त करें?
- 3. एक विशिष्ट शब्द से पहले और उसके बाद एक शब्द खोजने के लिए regex
- 4. jQuery बिना किसी स्ट्रिंग के पहले 5 शब्द कमांड
- 5. रेगेक्स: स्ट्रिंग से शब्द कैसे प्राप्त करें (सी #)
- 6. हर शब्द के पहले अक्षर
- 7. एसक्यूएल में स्ट्रिंग के पहले अक्षर को कैसे प्राप्त करें?
- 8. के लिए रेगुलर एक्सप्रेशन एक शब्द/स्ट्रिंग
- 9. एक पायथन स्ट्रिंग में पहला शब्द निकालें?
- 10. कर्सर के तहत शब्द कैसे प्राप्त करें?
- 11. PHP स्ट्रिंग के पहले 5 शब्द प्राप्त करने का सबसे अच्छा तरीका क्या है?
- 12. एक समय में एक रूबी स्ट्रिंग एक शब्द (शब्द रैपिंग के लिए) पढ़ें
- 13. स्ट्रिंग के लिए शब्द ऐरे
- 14. गिट repack -a -d --depth = 250 - विन्डो = 250
- 15. एनएलटीके के समन्वय को कॉल करना - किसी शब्द के पहले/बाद में टेक्स्ट कैसे प्राप्त करें?
- 16. संग्रह.फिंड ({}) 250 ऑब्जेक्ट्स (मोंगोमैपर)
- 17. शब्द (स्ट्रिंग) को int
- 18. एक विशिष्ट शब्द के लिए पूरी स्ट्रिंग को कैसे खोजें?
- 19. एक स्ट्रिंग से पहला शब्द निकालने - regex
- 20. स्ट्रिंग में शब्द के पहले अक्षर को ऊपरी केस कैसे करें?
- 21. एक स्ट्रिंग का एक सा निकालें एक शब्द
- 22. उद्देश्य-सी में एनएसएसटींग से पहले एन शब्द कैसे प्राप्त करें?
- 23. स्ट्रिंग के पहले शब्द को कैसे पकड़ें और इसे int में कैसे परिवर्तित करें? jQuery
- 24. sscanf - वाक्य में nth शब्द प्राप्त करें
- 25. जावास्क्रिप्ट: स्ट्रिंग में पहले 4 नंबर कैसे प्राप्त करें?
- 26. स्वीकार नहीं कर 250 चरित्र
- 27. तत्काल पहले बच्चे तत्व प्राप्त करें
- 28. "स्ट्रिंग-फ्री कोडिंग" एक सामान्य शब्द है?
- 29. टेक्स्ट से अधिकतम शब्द कैसे प्राप्त करें?
- 30. वाक्य में पहले शब्द के पहले अक्षर को कैपिटल कैसे करें?
'str.Split()। (250)' –
[आपने क्या प्रयास किया है?] (Http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect- question.aspx) – MyCodeSucks
रिक्त स्थान – malinois