হ্যাঁ, এখানে আরও একটি উত্তর প্রয়োজন!
সমস্ত সমাধান এখন পর্যন্ত ক্যানোনিকাল ইনপুটটির বরং সীমাবদ্ধ ডোমেনটিকেই সম্বোধন করে: উপাদানগুলির মধ্যে একটি একক শ্বেত স্পেস অক্ষর (যদিও সমস্যাটি অন্তত উল্লেখ করার জন্য @ চেরানোতে টুপিটির টিপ)। তবে আমি এগুলিকে সবচেয়ে অস্পষ্ট পরিস্থিতি ব্যতীত জমা দিয়েছি, এই সমস্তগুলিকে বিভক্ত করলে অভিন্ন ফলাফল পাওয়া উচিত :
string myStrA = "The quick brown fox jumps over the lazy dog";
string myStrB = "The quick brown fox jumps over the lazy dog";
string myStrC = "The quick brown fox jumps over the lazy dog";
string myStrD = " The quick brown fox jumps over the lazy dog";
String.Split
(এখানে অন্যান্য উত্তর জুড়ে দেখানো স্বাদগুলির কোনওটিতে) আপনি যদি RemoveEmptyEntries
এইগুলির সাথে বিকল্পটি সংযুক্ত না করেন তবে কেবল ভাল কাজ করে না :
myStr.Split(new char[0], StringSplitOptions.RemoveEmptyEntries)
myStr.Split(new char[] {' ','\t'}, StringSplitOptions.RemoveEmptyEntries)
যেমন চিত্রটি প্রকাশ করে, বিকল্পটি বাদ দেওয়া থেকে চারটি ভিন্ন ফলাফল পাওয়া যায় (এ, বি, সি এবং ডি লেবেলযুক্ত বনাম) আপনি যখন ব্যবহার করবেন তখন চারটি ইনপুট থেকে একক ফলাফল RemoveEmptyEntries
:
অবশ্যই, আপনি যদি বিকল্পগুলি ব্যবহার করতে পছন্দ না করেন তবে কেবলমাত্র রেজেক্স বিকল্পটি ব্যবহার করুন :-)
Regex.Split(myStr, @"\s+").Where(s => s != string.Empty)