PDA

View Full Version : جایگزین کردن یک متن در رشته جای متن دیگه؟



Mosafers
شنبه 26 مهر 1393, 22:29 عصر
سلام دوستان من با استفاده از کد زیر میخوام یک متن در richtextbox1 رو بریزم توی richtextbox2 ولی مشکلی که هست .

این کد من است :
string str = richTextBox1.Text;
strEdit = strEdit.Replace("left", "right");
strEdit = strEdit.Replace ("right", "left");
richTextBox2.Text = strEdit;





داده های خام من در RichTextBox1 :

right
left
right
right
left

بعد از تغییر :
left
left
left
left
left

ولی من میخوام left ها right بشه و right ها left بشه؟؟؟

parvizwpf
شنبه 26 مهر 1393, 23:14 عصر
بنظرم باید روی تک تک کلمات این تکست کار کنید و کلمات رو یکی یکی عوض کنید و به و توی string دیگری ببرید به علاوه اونهایی که نیاز به تغییر نیست و جمله رو دوباره توی اون string میسازیم.

alireza_g698
شنبه 26 مهر 1393, 23:43 عصر
درود

این ها را نوشتم درست کار میکرد و مشکلی نداره
richTextBox2.Clear();
string str = richTextBox1.Text;
string[] strArray ;
strArray =str.Split(' ');
for (int i = 0; i < strArray.Count(); i++)
{
if (strArray[i]=="right")
{
strArray[i] = "left";
}
else if(strArray[i]=="left")
{
strArray[i] = "right";
}
}
foreach (var s in strArray)
{
richTextBox2.Text +=" "+ s;
}
richTextBox1.Clear();

موفق باشی

Mosafers
شنبه 26 مهر 1393, 23:50 عصر
سلام مجدد واقعا خسته نباشید آقا علیرضا ولی تاسفانه کار نمیکنه ... :متفکر:

alireza_g698
یک شنبه 27 مهر 1393, 00:01 صبح
سلام مجدد واقعا خسته نباشید آقا علیرضا ولی تاسفانه کار نمیکنه ... :متفکر:

سلام .برای این کار نمیکنه چون باید به صورت خطی بنویسید و نباید با اینتر زدن به خط بعدی برین(که البته با یکم دست کاری درست میشه)
برنامه رو گذاشتم.تستش هم کردم درست جواب میداد

alireza_g698
یک شنبه 27 مهر 1393, 00:05 صبح
اگه هنوز هم در کد ها ایراد دارید
richTextBox1.Clear();
و
richTextBox2.Clear();
را حذف کنید

Mosafers
یک شنبه 27 مهر 1393, 00:17 صبح
واقعا دست خوش داری کارت حرف نداره کار با آرایه ها و رشته ها یه کم دشوار هست ولی شما سنگ تموم گذاشتید مرسی :تشویق::تشویق::تشویق::تشویق:

Mosafers
یک شنبه 27 مهر 1393, 00:36 صبح
مهندس جسارتا اینم کمک کن حل شه :
مثلا اگه قرار باشه همچین تکسی رو ویرایش کنیم ؟

: right;}
xxx: left
: right;
:right;
left

alireza_g698
یک شنبه 27 مهر 1393, 00:55 صبح
مهندس جسارتا اینم کمک کن حل شه :
مثلا اگه قرار باشه همچین تکسی رو ویرایش کنیم ؟

: right;}
xxx: left
: right;
:right;
left

درود

از این کد استفاده کنید.این کد دیگه برای اینتر هم مشکلی نداره و دیگه خطی بودن متن هم مهم نیست.تست شده کاملا درست هست

richTextBox2.Clear();

string str = richTextBox1.Text;
str= str.Replace("right", " right ");
str= str.Replace("left", " left ");

string[] strArray ;

strArray =str.Split(' ');

for (int i = 0; i < strArray.Count(); i++)
{
if (strArray[i]=="right")
{
strArray[i] = "left";
}
else if(strArray[i]=="left")
{
strArray[i] = "right";
}
}
foreach (var s in strArray)
{
richTextBox2.Text +=s;
}
richTextBox1.Clear();