در زبان روبی، یک متد بنویسید که یک رشته شامل نامهای جداشده با ویرگول، نقطهویرگول یا فاصله را بگیرد، نامها را پاکسازی (حذف فاصلههای اضافی و نشانهها)، هر نام را با حرف اول بزرگ و بقیه حروف کوچک کند و آرایهای از نامهای یکتا بازگرداند.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:13 0.0
برای حل این مسئله میتوانید ابتدا با gsub و یک الگوی ساده مانند /[,;\s]+/ تمام جداکنندهها و فاصلههای اضافی را به یک جداکننده یکسان تبدیل کنید، سپس از split برای جداکردن نامها استفاده کنید. هر عنصر را با strip پاکسازی کنید و با downcase سپس capitalize یا ترکیب upcase/downcase باعث یکدست شدن حروف شوید؛ در نهایت با uniq تکراریها را حذف کنید. بهعنوان نکته، استفاده از map و نمادهای ذیل (&:strip) کد را خواناتر میکند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
یادداشت کلیدی این است که با gsub و الگوی /[;,\s]+/ همه جداکنندهها و فاصلههای اضافی را به یک جداکننده واحد تبدیل کرده و سپس با split آنها را جدا کنید. هر نام را با strip پاکسازی کنید و سپس با downcase و capitalize همگن کنید تا حروف اول بزرگ و باقی آنها کوچک بماند. در نهایت با uniq تکراریها را حذف کنید تا فقط نامهای یکتا باقی بمانند. اگر ورودی شامل کاراکترهای غیرلاتین یا نامهای مرکب با خط تیره یا علائم دیگر باشد، ممکن است نیاز به بهبودهای کوچکی برای حفظ قالب صحیح باشد.
گزارش