PDA

View Full Version : سوال: سوال در مورد عملکرد تابع Replace



yasharmahdi
جمعه 05 تیر 1394, 12:51 عصر
باسلام.
سوالی درمورد تابع ریپلیس در سی شارپ داشتم.
میخواستم بپرسم میشه یه جوری این تابع رو تعریف کرد که مثلا یک عنوان رو ریپلیس کنه ؟ بقیه رو ریپلیس نکنه؟
مثلا وقتی می نویسیم

textBox1.Text=textBox1.Text.Replace("s","b");
کلا تمامی s ها تبدیل میشه به b . ولی من نمیخوام اینطوری باشه!میخوام فقط یک s رو تبدیل کنه به b
آیا چنین چیزی تو سی شارپ ممکن است ؟
باتشکر از تک به تک شما برنامه نویسان عزیز.

abdullah20
جمعه 05 تیر 1394, 14:10 عصر
مثلا کدوم؟یه متن مثال بزنید

yasharmahdi
جمعه 05 تیر 1394, 15:30 عصر
مثلا همین s و b

abdullah20
جمعه 05 تیر 1394, 19:15 عصر
منظورم اینه که یه متن مثال بزنید که بخواید جایگزین کنید

yasharmahdi
جمعه 05 تیر 1394, 19:57 عصر
دوست عزیز متوجه نمیشم
خب من میخوام s رو به b تبدیل کنه دیگه :)

Mahmoud.Afrad
شنبه 06 تیر 1394, 00:03 صبح
منظور abdullah20 (http://barnamenevis.org/member.php?190756-abdullah20) اینه که یک متن مثال بزن و بگو کدوم s رو با b میخوای عوض کنی.

reza_ali202000
شنبه 06 تیر 1394, 01:44 صبح
فک کنم منظورتون اینه که جایگزین اولین s کنه و مابقیشو کاری نداشته باشه.
با این دستور نمیشه. خودتون باید یه تابع کوچک بنویسید.

CrafteR
شنبه 06 تیر 1394, 10:19 صبح
نیازی به نوشتن تابع نیستش با استفاده از Regex میتونید انجام بدین.

sabz12
شنبه 06 تیر 1394, 11:43 صبح
مشخص نکردی که دقیقاs چندم را می خواهی تغییر دهی شاید به کارت بیاد برای بدست اوردن اندکس حرف
string.IndexOf(s);

Javad_raouf
شنبه 06 تیر 1394, 12:26 عصر
string text = "sabdfb";
if (text.Contains('b'))
text = text.Substring(0, text.IndexOf('b')) + "s" + text.Substring(text.IndexOf('b') + 1);
MessageBox.Show(text);
شاید راه ساده تری هم باشه:لبخند:

yasharmahdi
یک شنبه 07 تیر 1394, 13:03 عصر
:
مثلا توی این متن
salam sss khobi ?
من میخوام فقط در این متن s سلام تبدیل بشه به b

CrafteR
دوشنبه 08 تیر 1394, 13:12 عصر
:
مثلا توی این متن
salam sss khobi ?
من میخوام فقط در این متن s سلام تبدیل بشه به b


از این کد استفاده کن:

string text = "salam ssss khobi ?";
Regex rx = new Regex("s");
string result = rx.Replace(text, "b", 1);