PDA

View Full Version : سوال: کمک جهت استفاده از InStr و Mid یا StringBuilder برای حذف کردن نوشته از متن



mehrdad1991h
پنج شنبه 10 شهریور 1390, 02:39 صبح
سلام

با عرض پوزش از تمامی دوستان
من یه چند جا گشتم ولی متاسفانه به چیزی که میخواستم نرسیدم ، ممکنه من درست متنی که باید جستجو کنم را جستجو نمیکنم اگر اینطوره لطفا اگه امکانش هست یه لینکی از تاپیک یا ادرسی که بتونم باش چنین مشکلی را رفع کنم بزارید برام
برای کاری که میخوام انجام بدم تا الان چند نفر روش های مختلفی گفتن ولی من از روش های اونا نتونستم استفاده کنم ،
پیشاپیش ازمدیران محترم معذرت میخوام چون دوباره این تاپیک را زدم و به نتیجه نرسیده بودم:ناراحت::افسرده:


من یه تکست باکس دارم توش چن سطر نوشته به این صورت داریم
مثلا
aa/aa/aaaaa/1abcd
bb/bb/b/bb/b/2abcd
ccc/cccc/3abcd
d/0h/5/ddd/4abcd

حالا میخوام این نوشته بعد از کلیک کردن رویه دکمه ای x به این صورت در بیاد

aa/aa/aaaaa
bb/bb/b/bb/b
ccc/cccc
d/0h/5/ddd

یعنی میخوام در هر سطر فقط قسمتی که بعد از اخرین "/" وجود داره را به علاوه ی خود اخرین / حذف کنه و بریزه تویه یه تکست باکس دیگه


خوب من اول اومدم از InStr و Mid استفاده کنم بعد دیدم چند جا / هست و نمیشه از اینا استفاده کرد ، چرا؟
1 یک عدد / نیمده
2 حالا بگیریم اصلا مسئله / نباشه بگم از / تا کجا را بگیره؟
3 این متن 1 خط نیس چند خط هست که هر کودوم جداگونه بایداین کار روش انجام بشه با این کار متن را به صورت کلی در نظر میگیره


خوب از این که نتیجه نگرفتم رفتم سراغ StringBuilder
از کدی شبیه به کد زیر اومدم استفاده کنم
StringBuilder sb = new StringBuilder();
sb.Append(TextBox1.Text);
sb.Remove(؟؟؟؟؟؟
اینجا که میبینید علامت سوال گزاشتم دوباره گیر میکنه و نمیشه

حالا میخوام ببینم من باید چی کار کنم که
1 هر سطر را اول جداگونه بیاد این عملیات را روش انجام بدهد
2 از چه چیزی باید استفاده کنم و چجوری



حالا با توجه به مطالبی که گفتم من باید از چه کدی برای این کار استفاده کنم:متفکر::ناراحت:
من فقط میخوام این کاری که میخوام را بشه انجامش داد حالا هر روشی هست که میشه لطفا بیان کنید
لطفا راهنمایی کنید و در صورت امکان یه نمونه کد بزارید که درست متوجه بشم
سپاس

Directx
پنج شنبه 10 شهریور 1390, 09:25 صبح
بفرمایید جناب کدش زیاد پیچیده نیست از اینم فک کنم ساده تر بشه نوشت حالا خودت روش بیشتر فکر کن تا بهترش کنی

private void btnRemove_Click(object sender, EventArgs e)
{

string str = textBox1.Text;
string[] Lines = str.Split('\n');
StringBuilder strB = new StringBuilder();
foreach (string stritem in Lines)
{
string[] words = stritem.Split('/');
for (int j = 0; j < words.Length - 1; j++)
{
strB.Append(words[j] + "/");
}
strB.Remove(strB.Length - 1, 1);
strB.Append("\r\n");
}
strB.Remove(strB.Length - 1, 1);
textBox2.Text = strB.ToString();
}