PDA

View Full Version : پاک کردن فضاهای خالی string



javad_r_85
چهارشنبه 03 فروردین 1390, 22:50 عصر
سلام.
یک متن دارم که می خوام این متن را پشت سر هم بنویسم بدون فاصله و سرخط ها متن من به صورت زیر می باشد


#‡€…‡†#›ãê
¤÷¦¢ ìõüŠ äþöóóùŠ ƒ„ƒ -#õø¥© ð‘ô “ù ð‘ô }ASP.NET ({“¤÷‘õù—øþ¨ü “‘ }C . NeT{
(#äþöóóù ›ãê¤÷¦¢ìõü#] øþ¤¨– ƒ[#^a“‘“ñ^bäóøô ¤þ‘÷ù^cˆˆƒ#]€‰…[ «.: ›¢øñ#î—‘“÷
‘õù: «. ]€‰…[#‡šŠ‡«/ …ˆˆ/…€…Š}TK{^aˆˆƒ#„‡/†€€#}BF{#¬êŸùû‘ý ¨¤ø¤ êã‘ñ#õ‘þî¤ø¨‘ê
– øþ¦øñ ¨ü ª‘¤” ¢– ÷–#õ‘þî¤ø¨‘ê– ¢– ÷–#ø’-- ¨‘þ–û‘-- ¯¤Ÿü#¨ü ª‘¤” )¥“‘ö “¤÷‘
õù÷øþ¨ü î‘õ•þø—¤(#^c}978-964-8996-72-2{^d€€€€ ¤þ‘ñ##



با استفاده از قطعه کد زیر تنها قسمتی از متن پشت هم نوشته میشود وبقیه رو اصلا نشون نمی ده



string s = "";


foreach (char c in textBox2.Text.ToCharArray())
{
if(char.IsLetterOrDigit (c))
s += c.ToString();

}





Happy New Year

sinashahab
چهارشنبه 03 فروردین 1390, 23:01 عصر
سلام

نميتونيد با replace كار كنيد ؟

فاصله ها و "\n" رو با "" جايگزين كنيد.

javad_r_85
چهارشنبه 03 فروردین 1390, 23:09 عصر
استاد درست شدیهههههه



string s = "";
MessageBox.Show(textBox2.Text);

foreach (char c in textBox2.Text.ToCharArray())
{
if (c == ' ')
s += "";
else
if (c == '\n')
s += "";
else
if (c=='\r')
s+="";
else
s += c.ToString();

}
MessageBox.Show(s);

ehsanara
پنج شنبه 04 فروردین 1390, 00:15 صبح
با این دو خط درست میشه


YourString = YourString.Replace(" ", "");
YourString = YourString.Replace("\n", "");

sinashahab
پنج شنبه 04 فروردین 1390, 13:25 عصر
با این دو خط درست میشه


YourString = YourString.Replace(" ", "");
YourString = YourString.Replace("\n", "");

کی میگه ؟؟

اگه فقط یه فاصله بود آره می شد با این کد درستش کرد ولی وقتی بیشتر از یک فاصله وجود داره باید اینقدر تکرار بشه که همشون جایگزین بشن.
مثلا اینطور میشه :
while(txt.indexof(' ') == -1)
{

}

بعدش وقتی هم یکی میاد تشکر میکنه دیگه آدم نمیتونه ساکت بشینه:لبخند:

ehsanara
پنج شنبه 04 فروردین 1390, 13:58 عصر
نه عزیزم لازم نیست
شما یه بار این دستور رو بزنی کل Space ها رو تو اون رشته پاک میکنه و دستور بعدش هم کل خط ها رو به هم میچسبونه
لطفا یه بار چک کنید بعد نقض کنید
منم از شما تشکر مسکنم تا دیگران هم ساکت نشینن :چشمک:

exlord
پنج شنبه 04 فروردین 1390, 14:11 عصر
کی میگه ؟؟

خود متد داره میگه .. یه بار تست کنی میبینی ...
البته یه راه بهتر هم استفاده از Regex هستش که /n , /r , /t و هرچه کاراکتر white space باشه همشونو برمیداره ...
string trim = Regex.Replace( text, @"\s", "" );

sinashahab
پنج شنبه 04 فروردین 1390, 15:05 عصر
حق با شما بود. توی توضیحاتش هم نوشته بود :لبخند:

شرمنده.