View Full Version : سوال: چگونه یک سری از متن های خاص را replace کنیم ؟
dele_ghamgin_2008
یک شنبه 30 آذر 1393, 13:59 عصر
سلام . من یک ریچ تکست باکس دارم که داخل این مقادیری که در تصویر زیر مشاهده می کنید موجود است :
126758
حالا می خواهم وقتی روی باتن کلیک کردم : ریچ تکس باکسم به شکل زیر در بیاد :
126759
همانطور که در تصویر مشاهده می کنید موارد زیر پس از کلیک بر روی باتن حذف گردیدند :
1- اسپیس های الکی و بی خود
2- اعداد که بعد از برند اصلی وجود داشتند . لطفاً راهنمایی کنید که باید چیکار کنم . من خودم از دستوری ریپلایس استفاده می کنم. مثلا بهش میگم هرجا عدد 1 رو دید بجاش خالی بذاره ولی عدد اصلی که در کنار آن برند هم نوشته شده رو میگیره پاک میکنه . من فقط می خواهم آن اعداد بی خودی که در تصویر هم مشخص شده پاک شوند و اعدادی که مرتبط با موضوع نوشته هست پاک نشود . لطفاً راهنمایی کنید .
برای نمونه :
چاقوی سرامیکی 112 2 Submit Submit
چوب افرا 1100 8 Submit Submit
چوب تبریزی 24 Submit Submit
چوب توسکا 10 Submit Submit
shahryari
یک شنبه 30 آذر 1393, 17:18 عصر
سلام
1- ابتدا همه متن رو بریز تو متغیر
2 - متغیر رو براساس \r\n اسپلیت کن و بریز تو آرایه
3- با حلقه به تعداد سطرها ، هر سطر رو مجدد براساس \t اسپلیت کن و بریز تو آرایه و خانه صفرم آرایه رو انتقال بده به ریچ تکست
الگوریتمش با خودت
dele_ghamgin_2008
یک شنبه 30 آذر 1393, 21:21 عصر
سلام
1- ابتدا همه متن رو بریز تو متغیر
2 - متغیر رو براساس /r/n اسپلیت کن و بریز تو آرایه
3- با حلقه به تعداد سطرها ، هر سطر رو مجدد براساس /t اسپلیت کن و بریز تو آرایه و خانه صفرم آرایه رو انتقال بده به ریچ تکست
الگوریتمش با خودت
مرسی . ولی اینهایی که گفتید رو باید چجوری انجام بدم !؟
shahryari
دوشنبه 01 دی 1393, 11:02 صبح
مرسی . ولی اینهایی که گفتید رو باید چجوری انجام بدم !؟
دوست گرامی قرار شد درحد راهنمایی باشه دیگه...
این کد رو امتحان کن
string[] allRows = System.IO.File.ReadAllText("C:\\1.txt").Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
foreach (string row in allRows )
{
string[] records = row.Split('\t');
richTextBox1.Text += records[0] + Environment.NewLine;
}
dele_ghamgin_2008
دوشنبه 01 دی 1393, 12:30 عصر
دوست گرامی قرار شد درحد راهنمایی باشه دیگه...
این کد رو امتحان کن
string[] allRows = System.IO.File.ReadAllText("C:\\1.txt").Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
foreach (string row in allRows )
{
string[] records = row.Split('\t');
richTextBox1.Text += records[0] + Environment.NewLine;
}
این کد درسته ولی برای مقادیر کم . به عنوان مثال وقتی می خواهم فایل زیر را بهش بدهم که برام درستش کنه خیلی طول میکشه و سیستم هنگ می کنه
shahryari
دوشنبه 01 دی 1393, 17:29 عصر
یه پروگرس بار به فرمت اضافه کن و پیشرفت کار رو به کاربر نشون بده و کدت رو به شکل زیر بنویس
string[] allRows = System.IO.File.ReadAllText("aaa.txt").Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
progressBar1.Maximum = allRows.Length;
progressBar1.Value = 0;
foreach (string row in allRows )
{
string[] records = row.Split('\t');
richTextBox1.Text += records[0] + Environment.NewLine;
progressBar1.Value ++;
Application.DoEvents();
}
dele_ghamgin_2008
پنج شنبه 04 دی 1393, 14:51 عصر
یه پروگرس بار به فرمت اضافه کن و پیشرفت کار رو به کاربر نشون بده و کدت رو به شکل زیر بنویس
string[] allRows = System.IO.File.ReadAllText("aaa.txt").Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
progressBar1.Maximum = allRows.Length;
progressBar1.Value = 0;
foreach (string row in allRows )
{
string[] records = row.Split('\t');
richTextBox1.Text += records[0] + Environment.NewLine;
progressBar1.Value ++;
Application.DoEvents();
}
مهندس جان خیلی لطف کردی . مشکلم حل شد . متشکرم پاسخ صحیح بود . مشکل سرعت هم با این کار حل کردم :
LstAll.Items.Add(records[0]);
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.