با چه کدی می توانیم مشخص کنیم چند تا از یک کاراکتر داخل یک رشته وجود دارد
با چه کدی می توانیم مشخص کنیم چند تا از یک کاراکتر داخل یک رشته وجود دارد
اگه فرض کنیم که str رشته شما باشه تعداد یک کاراکتر مثلا m می شه:
str.Where(c => c == 'm').Count();
آخرین ویرایش به وسیله Mahmoud.Afrad : شنبه 06 دی 1393 در 02:15 صبح
ممکنه کد رو داخل شارپ بزارین چون برا من نا مفهوم هست ضمنا چطور میشه یک رشته رو داخل یک آرایه از نوع char ذخیره کرد برای جستجوی یک کاراکتر خاص ممنون
سلام
string str = "hamiididashtiizadehh";
char src = 'i';
int count = 0;
foreach (char item in str)
{
if (item ==src)
count++;
}
MessageBox.Show(count.ToString());
برای جستجوی یک کارکتر خاص میتونید از این دستور استفاده کنید
str.Contains('i').ToString();
str همون متغر رشته ای شماست!
بزارید بگم چی کار می خوام بکنم تا شما هم توضیح بهتری بدین فرض کنید یک رشته داریم به این صورت a s t همان طور که می بینید بین حروف تعدادی اسپیس هست من می خوام اینا رو بشمارم و همونجا بنویسم مثلا
a5s2t عدد های 5 و 2 تعداد اسپیس هستند چطور می تونم اینکارو بکنم
شما تو حلقه بالایی میتونید شمارنده رو قبل از If قرار بدید و بعد از if هم به جای src مقدار شمارنده رو توی رشته قرار بدید(Replace)
بفرماید دوست عزیز
string str = "h a m i d! ";
string newstr = "";
int count = 0;
for (int i = 0; i < str.Length; i++)
{
if (str[i] != ' ')
{
if (count != 0)
{
newstr += count.ToString();
count = 0;
}
newstr += str[i].ToString();
}
else if (str[i] == ' ')
{
count++;
}
}
MessageBox.Show(newstr);
فکر می کنم نیاز به فضای کاری linq باشه
با سلام
Count یک Extension method هست که برای استفاده از این Extension method شما نیاز دارید به فضای نامusing System.Linq;که بعد از واردکردن این فضای نام میتونید از دیگر Extension method نیز استفاده کنید
موفق باشید
چند مثال :
const string a = "aa14505gbbv505";
int count = a.Where(c => c == 'a').Count();
int sum = a.Where(char.IsDigit).Sum(d => int.Parse(d.ToString()));
کسی که به خود اطمینان دارد به تعریف دیگران احتیاج ندارد. «گوستاو لوبون»
حتما از نت فریمورک یا بویلدر با ورژن پایین استفاده میکنید.Linq در دات نت 3.5 و به بالا موجود است.چرا من چنین فضای نامی ندارم منظورم linq ه. یعنی وقتی کلمه System رو مینویسم تو زیر منوهاش چنین کلمه ای وجود نداره؟
مطمعن شو که تویه رفرنس هات System.Core.dll هست
سلام دوستان من دارم روی یه پروژه کار میکنم که متنش اینه:گرامری که دستور ifرا برای یک زبان فرضی معرفی کند وبراساس آن این پروژه نوشته خواهد شدبه صورت زیر است .هدف نوشتن برنامه ای است که یک دستور نوشته شده ی ifرا از یک فایلnotepad.txtبخواند تشخیص دهد.
و برنامه ای که من نوشتم اینه ولی نمیدونم چه جوری بهش فرمان بدم که پرانتز و بقیه رو بخونه لطفا کمکم کنین
try
{
StreamReader sr = newStreamReader(@"E:\\mn.Txt");
//string StrText = sr.ReadLine().ToString();
string a = "", b = "", c = "";
int i = 0;
while (!sr.EndOfStream)
{
if (i < 2)
{
a +=Convert.ToChar(sr.Read());
i++;
if (a == "if")
{
textBox1.Text ="true";
ببخشید از من messageboxرو اشتباه میگیره داداش
ببخشید دوست عزیز اگر بخوام خروجی من در listbox ریخته بشه باید چیکار کنم .اگر زودتر راهنمایی کنی ممنون میشم