PDA

View Full Version : سوال: حذف enter تکراری با Regular Expression



FirstLine
چهارشنبه 25 شهریور 1388, 12:33 عصر
با سلام
یک ورودی متن (textbox) چند خطی در سایت داریم که کاربر اطلاعات خاصی را وارد میکند.
کاربر ممکن است بین هر نوشته چندین بار کلید اینتر را زده باشد.
چجوری اینترهای اضافه را حذف کنم بصورتی که در هر خط نوشته با نوشته خط بعدی فقط یک اینتر خورده باشد؟
با تشکر

صابر
پنج شنبه 26 شهریور 1388, 11:29 صبح
سلام،
تا اونجایی که من می‌دونم Regular Expression برای بررسی صحت یک متن با یک pattern هست که شما می‌دین.

اما برای مسئله شما، (حداقل) دو تا راه هست:
1- متن را با کاراکتر اینتر Split کنید و دوباره Join کنید:

text.Split(new string[]{"\r\n"},StringSplitOptions.RemoveEmptyEntries)
2- با یک حلقه for روی متن حرکت کنید و اگر یک کاراکتر Enter بود و کاراکتر بعدی آن هم Enter بود، یکی از آنها را حذف کنید.

Behrouz_Rad
پنج شنبه 26 شهریور 1388, 12:04 عصر
string result = TextBox1.Text.Replace("\r\n\r\n", "\r\n");

صابر
پنج شنبه 26 شهریور 1388, 12:29 عصر
string result = TextBox1.Text.Replace("\r\n\r\n", "\r\n");


ممکن است بیش از دو Enter پشت سر هم در متن باشد.

Chabok
پنج شنبه 26 شهریور 1388, 14:14 عصر
Use Regex

Pattern : (\r\n){2,}
Replace With : \r\n