جداسازی و حذف فاصله در تکست باکس
سلام دوستان . وقتتون به خیر .
ببخشید من یه تکست باکس دارم که با تابع Replace() اینارو میچسبوم بهم . replace(" ","") ..
حالا من میخام مثلا اگه کاربر اسم کوچیکش " علی رضا" بود اینا رو نچسبونه بهم و با یک " " از هم جدا کنه اینارو .
با تابع Trim() این کار رو انججام دادم ولی یه باگی که به وجود میاره اینه که اگه کاربر بین " حمید" و "رضا" فاصله بزنه اونارو نمیتونه حذف بکنه . فقط اول و آخر رو حذف میکنه .
من میخام هر چند تا فاصله بین دو حرف زد حذف کنه و فقط یک فاصله باشه بینشون و از هم جدا بشن .
ممنونم
3 پاسخ
1- شما باید برای اول و آخر رشته که از Trim() استفاده کنید.
2- برای وسط رشته میشه گفت که از یک حلقه while استفاده کرد و تا زمانی که دو فاصله وجود داره همه رو تبدیل کنه به یک فاصله. حالا ممکنه کاربر 4 تا فاصله هم زده باشه ولی تو تکرارهای مختلف مشکل حل میشه.
while (text.Contains((" ")))
{
text= text.Replace(" ", "");
}
++++++
به جای مرحله 2 بالا میشه از Regular Expression هم استفاده کرد.
text= Regex.Replace(text, @"\s+", " ");
راستش نه ، خودم هم هر جا گیر می کنم با سرچ کارم رو راه میندازم !
بسیار عالی . ممنونم از شما جناب آقامیری عزیز .
فقط سورس مفهومی و خوبی میشناسید که این Regular Expressions رو توضیح داده باشه ؟