در C# تابعی بنویسید که در یک رشته‌ی ورودی موقعیت اولین وقوع یک کلمه‌ی کلیدی مشخص را با استفاده از String.IndexOf (با بی‌توجهی به حروف بزرگ/کوچک) پیدا کند و در صورت عدم وجود مقدار -1 بازگرداند.

16.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 04:43

0.0

برای حل این مسئله می‌توانید از متد string.IndexOf(keyword, StringComparison.OrdinalIgnoreCase) در دات‌نت استفاده کنید؛ قبل از جستجو ورودی‌ها را بررسی (null یا خالی) کنید و نتیجه‌ی IndexOf را مستقیماً بازگردانید. در زمینه‌های مختلف مانند کامپایلر/اینترپرتر می‌توان از این روش برای یافتن توکن‌ها، در بازی‌سازی (Unity) برای پیدا کردن دستورهای چت و در وب‌دولوپمنت (ASP.NET) برای جستجوی پارامترها استفاده کرد؛ اگر لازم است مطمئن شوید که کلمه به‌صورت کامل پیدا شده، می‌توانید پس از یافتن موقعیت کاراکترهای قبل و بعد را چک یا از Regex برای مرزبندی واژه‌ها کمک بگیرید.

توسط پژوهشگر در 198 روز قبل ساعت 04:43
دسته بندی ها: C# C# for beginner
arman در 198 روز قبل ساعت 04:44

برای این کار می‌توانید از string.IndexOf(keyword, StringComparison.OrdinalIgnoreCase) استفاده کرده و قبل از جستجو ورودی‌ها را برای null یا رشتهٔ خالی بررسی کنید تا از استثنا جلوگیری شود. اگر دنبال تطابق دقیقِ کلمهٔ کامل هستید، پس از یافتن موقعیت مرزهای پیش و پس را بررسی کنید یا از Regex با \b کمک بگیرید چون IndexOf صرفاً تطابق زیررشته را می‌یابد. همچنین توجه داشته باشید که OrdinalIgnoreCase سرعت و ثبات بالایی دارد ولی در مواقعی که حساس به فرهنگ (culture) هستید ممکن است بخواهید از CurrentCultureIgnoreCase استفاده کنید. در صورت پیدا نشدن مقدار -1 بازگردانید و در صورت نیاز ورودی را قبل از جستجو با Trim اصلاح کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری