سوال خود را بپرسید

توضیحات بخش

rss
سوال و جواب برای متخصصان و علاقه مندان به برنامه نویسی در همه زبان ها و همه پلت فرم ها

آمار بخش

کاربران 29
سوال ها 71
پاسخ ها 80
نظر سنجی ها 0

برترین کاربر ها

بیشترین تگ ها

3

چگونه کلمات یک جمله در #C را جدا کنیم؟

چه روشی برای به دست آوردن کلمات یک رشته در زبان #C وجود دارد.
برای مثال عبارت زیر را داریم

var sentence = "I like stackparty.ir"

چگونه می توانیم کلمات این عبارت را به صورت مجزا داشته باشیم؟
پاسخ به سوال
666بازدید

پاسخ ها (1)

3
برای به دست آوردن کلمات یک رشته راه های گوناگونی وجود دارد که هر کدام مزایا و معایبی دارند.
دقت نمایید در تمامی این راه حل ها کلمات بر اساس فضای خالی بین آنها جدا شده اند و فضاهای خالی نادیده گرفته شده اند.
برخی از این روش ها به صورت زیر است.

()string.split
ساده ترین و سریعترین راه ممکن برای این کار هست.

sentence.Split(new Char[]{' '},StringSplitOptions.RemoveEmptyEntries);

Loop
با استفاده از یک حلقه مانند for یا foreach می توانید اینکار را انجام دهید. البته این روش مستلزم زمان بیشتری برای تولید و تست می باشد.
این کد تست شده است ولی ممکن است در برخی شرایط جواب درستی ندهد و فقط مثالی برای مقایسه روش های موجود می باشد.


 List<string> array = new List<string>();
for (int i = 0; i < sentence.Length; ++i)
{
var current = sentence[i];
var temp = "";
if (current != ' ')
{
for (int j = i; j < sentence.Length; ++j)
{
if (sentence[j] == ' ')
{
array.Add(temp);
i = j - 1;
temp = "";
break;
}

temp += sentence[j];
}
}
else if (current == ' ')
{
for (int j = i; j < sentence.Length; ++j)
{
if (sentence[j] != ' ')
{
i = j - 1;
temp = "";
break;
}

temp += sentence[j];
}
}

if (temp != "")
{
temp = "";
break;
}
}


Regex
با استفاده از regular expression می توانید کلمات را به صورت مجزا داشته باشید

string[] words = Regex.Split(sentence, @"\s+");
پاسخ به سوال
تعداد حروف 0