-
אני רוצה רגקס שימנע כתיבה של התווים האלה:
\/:*?"<>|זה בערך הקוד
string regExp = Regex.Replace(textBox1.Text, @"(\|/|:|\*|\?|\"|<|>|\|)", "");נתקעתי ב
"וב\
מה צריך לתקן? תודה רבה לעוזריםיש פה שתי סיבוכים, אחד של C# והשני של הregex.
ה| וגם ה?*\ צריכים ביטול ברמת הרגקס וזה נעשה ע"י הקדמת לוכסן הפוך.
הבעיה שלוכסן הפוך יש לו משמעות ברמת הC#, ולכן צריך לעשות שתיים או להקדים לכל המחרוזת שטרודל וזה מבטל את הצורך הזה, ככה:string regExp = Regex.Replace(textBox1.Text, @"\\/:\*\?""<>\|", "");אני מנחש שהצורך שלך הוא מניעת תויים לא חוקיים בשם תיקיה או קובץ, אז אני מציע לך להשתמש בדרכים יותר מקובלות:
var invalids = Path.GetInvalidFileNameChars(); string regExp = new string(textBox1.Text.Where(n => !invalids.Contains(n)).ToArray()); -
אני רוצה רגקס שימנע כתיבה של התווים האלה:
\/:*?"<>|זה בערך הקוד
string regExp = Regex.Replace(textBox1.Text, @"(\|/|:|\*|\?|\"|<|>|\|)", "");נתקעתי ב
"וב\
מה צריך לתקן? תודה רבה לעוזרים -
יש פה שתי סיבוכים, אחד של C# והשני של הregex.
ה| וגם ה?*\ צריכים ביטול ברמת הרגקס וזה נעשה ע"י הקדמת לוכסן הפוך.
הבעיה שלוכסן הפוך יש לו משמעות ברמת הC#, ולכן צריך לעשות שתיים או להקדים לכל המחרוזת שטרודל וזה מבטל את הצורך הזה, ככה:string regExp = Regex.Replace(textBox1.Text, @"\\/:\*\?""<>\|", "");אני מנחש שהצורך שלך הוא מניעת תויים לא חוקיים בשם תיקיה או קובץ, אז אני מציע לך להשתמש בדרכים יותר מקובלות:
var invalids = Path.GetInvalidFileNameChars(); string regExp = new string(textBox1.Text.Where(n => !invalids.Contains(n)).ToArray());
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות