PDA

View Full Version : سوال: اجرا نشدن تابع Replace برای کاراکتر " و \



mehrnoosh_al62
شنبه 02 شهریور 1387, 12:17 عصر
سلام دوستان من میخوم تو یه رشته کاراکتر " رو جایگزین رشته "\ کنم وقتی کد زیر رو مینویسم جواب نمیده. میشه راهنماییم کنید...




Result= Result.Replace("\\\"","\"");

mehdi.mousavi
شنبه 02 شهریور 1387, 12:36 عصر
سلام دوستان من میخوم تو یه رشته کاراکتر " رو جایگزین رشته "\ کنم وقتی کد زیر رو مینویسم جواب نمیده. میشه راهنماییم کنید...



Result= Result.Replace("\\\"","\"");


سلام.
غیر ممکنه این کد کار نکنه! لطفا بنویسید Result دفعه اول چی هستش تا بگم اشکال کار کجاست.

Mahdi.Kiani
شنبه 02 شهریور 1387, 12:43 عصر
سلام دوستان من میخوم تو یه رشته کاراکتر " رو جایگزین رشته "\ کنم وقتی کد زیر رو مینویسم جواب نمیده. میشه راهنماییم کنید...




Result= Result.Replace("\\\"","\"");


رشته اصلیتون چیه؟

ASKaffash
شنبه 02 شهریور 1387, 12:45 عصر
سلام دوستان من میخوم تو یه رشته کاراکتر " رو جایگزین رشته "\ کنم وقتی کد زیر رو مینویسم جواب نمیده. میشه راهنماییم کنید...




Result= Result.Replace("\\\"","\"");


سلام
چرا از @ قبل از رشته استفاده نمیکنید که مشکل // نباشد

mehrnoosh_al62
شنبه 02 شهریور 1387, 13:39 عصر
سلام
چرا از @ قبل از رشته استفاده نمیکنید که مشکل // نباشد


میشه بگید چطور؟ اگه ممکنه کدشو بنویسید...

m_amin_t
شنبه 02 شهریور 1387, 14:08 عصر
سلام دوستان من میخوم تو یه رشته کاراکتر " رو جایگزین رشته "\ کنم وقتی کد زیر رو مینویسم جواب نمیده. میشه راهنماییم کنید...




Result= Result.Replace("\\\"","\"");



ولی من دقیقا همین کد رو امتحان کردم و جواب داد !

mehrnoosh_al62
شنبه 02 شهریور 1387, 14:40 عصر
این یه قسمت از رشته ای هست که میخوام تغییرش بدم...

dbo.Personneltbl.Fname +\" \"+ dbo.Personneltbl.Lname as FullName,\"مدرک داخلي\"
هر کاری میکنم جواب نمیده

mehrnoosh_al62
دوشنبه 04 شهریور 1387, 08:13 صبح
ولی من دقیقا همین کد رو امتحان کردم و جواب داد !

رشته شما چی بوده که کدتون جواب داده؟
من دقیقا از همین کد استفاده میکنم و جواب نمیگیرم!!

m_amin_t
دوشنبه 04 شهریور 1387, 11:14 صبح
رشته شما چی بوده که کدتون جواب داده؟
من دقیقا از همین کد استفاده میکنم و جواب نمیگیرم!!

مگه تفاوتی میکنه که رشته چی باشه؟ من یه رشته دادم که این کاراکتر ها توش وجود داشت و بعد از اینکه برنامه رو اجرا کردم عمل Replace به درستی انجام شد. رشته شما دقیقا چیه که من اونو امتحان کنم؟

mehrnoosh_al62
دوشنبه 04 شهریور 1387, 12:29 عصر
راستش رشته من متن یه sp که با استفاده از کد به متنش دسترسی پیدا کردم ولی خوب تو متن چون به حالت text هست به جای کارکتر " از "\ استفاده میکنه. یه قسمت از sp رو تو تاپیک #7 گذاشتم.

ASKaffash
دوشنبه 04 شهریور 1387, 12:36 عصر
میشه بگید چطور؟ اگه ممکنه کدشو بنویسید...

سلام
مثل این کد:


private void button1_Click(object sender, EventArgs e)
{
string Result = @"\\" + (char)34 + @"Hello\\" + (char)34 + "Ok";
Result = Result.Replace(@"\\" + (char)34, @"\");
this.Text = Result;
}

m_amin_t
دوشنبه 04 شهریور 1387, 12:59 عصر
سلام
من دقیقا همون رشته ای که در بخش 7 این بحث بهش اشاره کردید رو امتحان کردم که به طور کامل نتیجه داد. اینم تصویرش:

http://matavakol.persiangig.ir/image/Test.JPG
مطمئنید که خطای برنامه مربوط به همین قسمته؟

mehrnoosh_al62
دوشنبه 04 شهریور 1387, 13:26 عصر
بله. منم این عملو انجام میدم ولی نتیجه هیچ تغییری نمیکنه...!!!

mehrnoosh_al62
دوشنبه 04 شهریور 1387, 13:28 عصر
سلام
مثل این کد:


privatevoid button1_Click(object sender, EventArgs e)
{
string Result = @"\\" + (char)34 + @"Hello\\" + (char)34 + "Ok";
Result = Result.Replace(@"\\" + (char)34, @"\");
this.Text = Result;
}


ممنون .میشه بگید من این کار رو برای متن یه sp خیلی بزرگ چطور میتونم انجام بدم؟

mehrnoosh_al62
دوشنبه 04 شهریور 1387, 13:39 عصر
ببنید من تو یه تابع ازش استفاده میکنم :


private string ReturnQuery(DataTable tbl, string Objname, string type)
{
SqlDataAdapter adp = new SqlDataAdapter();
sqlcomm.CommandText =Sql code
adp.SelectCommand = sqlcomm;
adp.Fill(tbl);
for (int i = 0; i <= tbl.Rows.Count - 1; i++)
{
Result += " " + tbl.Rows[i][2];
}
Result = Result.Replace("\t", " ");
Result = Result.Replace("\r", " ");
Result = Result.Replace("\n", " ");
Result = Result.Replace("-", " ");
Result = Result.Replace("\\\"","\"");
MessageBox.Show(Result);

return Result;
}


جالب اینجاست که وقتی به MesageBox میرسه عمل Replace درست انجام میشه اما result نهایی replace نشده...

m_amin_t
دوشنبه 04 شهریور 1387, 14:39 عصر
جالب اینجاست که وقتی به MesageBox میرسه عمل Replace درست انجام میشه اما result نهایی replace نشده...

یعنی چی؟ یعنی توی MessageBox همونی رو نشون میده که میخواین ولی result نهایی مشکل داره؟ توی result نهایی چی نشون میده؟ چه خطایی رخ میده؟

mehrnoosh_al62
دوشنبه 04 شهریور 1387, 14:50 عصر
تو result نهایی همچنان کاراکتر "\ نشان داده میشه... در صورتی که باید به جای "\ کاراکتر \ نشان داده شه...

m_amin_t
دوشنبه 04 شهریور 1387, 14:55 عصر
خوب از کجا اینو متوجه میشین؟ شما که میگی توی messageBox سالمه