Replace the CR

../images/Emo187.gif Replace the CR

אני שולף מבסיס הנתונים מחרוזת, ומציב אותה לתוך משתנה במערך. אם יש במחרוזת את התו ' אז אני מעיף אותו ע"י :
try= try.Replace("'","");​
במחרוזת שאני שולף יש גם "Enter" (ירידת שורה), גם הוא מפריע מכיוון שבעת ההצבה למערך הוא קוטע את השורה, לכן אני צריך להעיף גם אותו. ניסיתי ע"י Replace כמו קודם, עם כל מיני תווים, כמו למשל n\ לא עזר. כיצד אני מעיף את ה CR מהמחרוזת ? מדוייק יותר : אני אצטרך להציב את המחרוזת הזו ל textarea, וזה יהיה מצויין אם אפשר יהיה לשמור על ירידת השורה, אם זה לא ידפוק את ההצבה למערך... אני כרגע בצד שרת, ASP.Net, שלפתי את המחרוזת לתוך משתנה String. כעת אני צריך להעיף את "ירידת השורה". לדעתי חייבים להעיף את זה בשלב הזה, כי כשאני מגיע להצבת המחרוזת ב JS, אז אם היא לא תהיה תקינה, הסקריפט ידפק לגמרי..
 

gilad g

New member
מוזר

אתה בטוח ש-
try= try.Replace("'","");​
לא עובד?
אגב - הערה, סתם בכללי - בשביל לעשות Replace-ים ממש ממש ממש (ממש ממש ממש) מומלץ להשתמש ב-StringBuilder. הסיבה לכך היא שהסטרינג בילדר לא יוצר instance חדש של כל הסטרינג אחרי כל Replace, וחוסך הרבה (מאוד) עבודה בשביל ה-GC.
 

Adidi70

New member
תנסה את זה...

try = try.Replace(chr(13),"")​
זה אמור לעבוד לך ב c# אין את הפונקציה chr אז פשוט תעשה המרה :
try = try.Replace(((char)30).ToString(),"");​
 

Adidi70

New member
ועוד דבר אחרון

אני לא כ"כ הבנתי מה אתה רוצה לעשות אבל אם אתה רוצה לשמר את המיקום המקורי ב textArea אז שאתה עושה replace תחליף כאמור את ה char 13 (שזה enter) ל <br> !
 

gilad g

New member
הערותיי

א. ה"המרה" הזאת היא דבר ממש לא בריא. ב. זה vbCrLf עד כמה שידוע לי, ולא (chr(13. על כל מקרה, רצוי להשתמש ב-Environment.NewLine, כי לכל מערכת הפעלה יש את תו השורה החדשה שלה.
 
חברים, שום דבר לא עוזר לי ../images/Emo10.gif

אני רוצה להעיף את האנטרים מהמחרוזת, זה אמור להיות משהו כמו :
TheStr = theStr.Replace("X","");​
החלפתי תא ה X במה שהצעתם... נאדה
יש למישהו רעיון ? אולי פשוט אני לא עשיתי זאת טוב ? ניסיתם אצלכם במקרה ?
 
עדכון !

Environment.NewLine עובד ! תודה !
אגב, כל השאר א עבד, זה הנ"ל, יפה, תודה רבה. הבעיה שלי כעת היא כזו : את הסטרינג אני שולף בצד שרת, ומעביר אותו לתוך תא במערך בצד לקוח (JS) כאשר משתמש לוחץ כל משהו, הטקסט מועתק מהתא בערך, לתוך אובייקט Textarea (אובייקט HTML רגיל). כלומר, ההעקתה מהמערך ל Textarea מתבצע בצד הלקוח. כיצד אני גורם לכך שב Textarea תהיה ירידת שורה ?
 

gilad g

New member
תעשה את הריפלייס באופן הזה:

Replace(Environment.NewLine, "\\n");​
זה יחליף את כל האנטרים ל-'n\' (מפורש), שזה מה ש-JS יכול להבין
 
למעלה