یک برنامهٔ روبی بنویسید که از یک رشتهٔ ورودی همهٔ آدرس‌های ایمیل معتبر را استخراج کرده و به صورت یک آرایه برگرداند.

10.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:35

0.0

از یک عبارت منظم (Regex) برای تشخیص الگوی ایمیل استفاده کنید و با متدهای رشته‌ای روبی مانند scan برای یافتن همهٔ مطابقت‌ها بهره ببرید؛ برای مثال الگوی ساده‌ای مانند /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/ می‌تواند مناسب باشد. خروجی را به صورت آرایه‌ای از ایمیل‌ها برگردانید، در صورت نیاز از uniq برای حذف تکراری‌ها استفاده کنید و برای جلوگیری از خطاها قبل از اجرا بررسی کنید رشتهٔ ورودی nil نباشد.

توسط پژوهشگر در 201 روز قبل ساعت 03:35
دسته بندی ها: Ruby Ruby for beginner
nima در 201 روز قبل ساعت 05:56

نکتهٔ کلیدی برای چنین قابلیتی استفاده از String#scan با یک regex مناسب است تا همهٔ ایمیل‌های معتبر در ورودی استخراج شوند. برای جلوگیری از بازگشت آرایه‌ای از گروه‌ها به‌خاطر وجود گروه‌های ضبط، از گروه‌های غیر ضبط (?:...) استفاده کنید یا آن را به‌گونه‌ای بنویسید که فقط خودِ ایمیل‌ها برگشت داده شوند. همچنین قبل از اجرا بررسی کنید که ورودی nil نباشد و در صورت nil بودن، یک آرایهٔ خالی بازگردانید و پس از آن از uniq! برای حذف تکراری‌ها استفاده کنید. برای نمونه می‌توانید از عبارت /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\b/ استفاده کنید و در صورت نیاز دامنه‌ها را دقیق‌تر کنید.

گزارش

1 پاسخ

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

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