سوال درباره ی Compare کردن در سی شارپ

#C

توسط thearrow در 6 سال پیش
0 10.2k 4 6 سال پیش
thearrow microsoftman daniel
0

سلام میخواستم بدونم که این Compare چیه ؟
با یکی از ترکیه داشتم چت میکردم که بهم گفت Compare کن ، جریانه این چیه ؟

میخواست یک برنامه واسش بسازم که یک لیست رو Import کنه و اون هایی که کل حروف هاشون از این ها حروف ها تشکیل شده اند رو پاک کنه در لیست ، حروف ها از Aتا z و از 0 تا 9 و _-)(*$!~=+

بهم گفت که اگه لیست باکسی که Import شده ، یک یا چند حرفش این حروف ها رو نداشت بهشون کاری نداشته باشه ، ولی اگه این ها تمام حروفشون باشه مثلا softafzar یا pashmak که کل حروف های غیر مجاز (غیر مجاز در این نرم افزار)هست رو دارن رو پاک کنه

ممنون میشم کمکم کنید

0

compare یعنی مقایسه همون کاری که دستورات شرطی مثل if، switch و.. انجام میدن

برای اینکار راههای متفاوتی وجود داره اما بهترین راه استفاده از Regex ـه

[CSHARP] if (Regex.IsMatch(textBox1.Text, @"^[a-zA-Z0-9-_$()+=~!]$"))
{
Text = "forbidden";

            }
            else
            {
                Text = "clean";
            }[/CSHARP]

شاید ساخت پترن برای Regex کمی سخت باشه اما اموزش وجود داره و برنامه هایی هم برای اینکار هستن
RegExr

0

یک دنیا سپاس
فقط یک سوال دارم ، دلیل خاصی داره که حروف ها رو به این شکل نوشتی؟
چون من اینجوری نوشتم دیگه کار نداد و هرچی توی تکست باکس بنویسم همه رو مج نشده میدونه

[CSHARP]
if (Regex.IsMatch(TextBox4.Text, @".,-+=~!$*abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"))
listBox1.Items.Add(TextBox4.Text);
else
listBox2.Items.Add(TextBox4.Text);
[/CSHARP]

من فقط حروف های بالا رو میخوام بررسی کنم ،

یک سوال دیگه دارم چرا بعضی از حروف ها رو دوبار تکرار کردید؟

0

با تشکر از دوست عزیزم Microsoft Man
دوست عزیز پترن بالا همین کارو انجام میده تو Regex نمیتونی به اینصورت تعریف کنی
باید بصورت پترن(pattern) تعریف کنی
a-z: از a تا z
A-Z: از A تا Z
0-9: از 0 تا 9

یک سوال دیگه دارم چرا بعضی از حروف ها رو دوبار تکرار کردید؟


اگر منظورت علامت بک اسلشه علتش اینه قبل که بعضی از کاراکتر های خاص باید این علامت قرار بگیره
0

با تشکر از دوست عزیزم Microsoft Man
دوست عزیز پترن بالا همین کارو انجام میده تو Regex نمیتونی به اینصورت تعریف کنی
باید بصورت پترن(pattern) تعریف کنی
a-z: از a تا z
A-Z: از A تا Z
0-9: از 0 تا 9

یک سوال دیگه دارم چرا بعضی از حروف ها رو دوبار تکرار کردید؟


اگر منظورت علامت بک اسلشه علتش اینه قبل که بعضی از کاراکتر های خاص باید این علامت قرار بگیره

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.