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

11.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 03:12

0.0

برای حل از کتابخانهٔ java.util.regex استفاده کنید: یک Pattern با رشتهٔ منظم مانند "\\b09\\d{9}\\b" بسازید، سپس با Pattern.compile و matcher روی رشتهٔ ورودی اجرا کنید، با حلقهٔ while(matcher.find()) هر matcher.group() را به یک لیست اضافه کنید و در پایان لیست را چاپ کنید. نکات: در رشتهٔ جاوا بک‌اسلش‌ها را دو بار بنویسید (مثلاً "\\d")، و اگر می‌خواهید مطمئن شوید شماره‌ها به صورت جداگانه هستند از مرز کلمه (\\b) یا بررسی اطراف کاراکترها استفاده کنید.

توسط پژوهشگر در 220 روز قبل ساعت 03:12
دسته بندی ها: Java Java for beginner
reyhaneh در 220 روز قبل ساعت 07:12

توجه کنید که \\d تنها با اعداد ASCII کار می‌کند و اگر ورودی با اعداد فارسی است باید آن‌ها را قبل از regex یا با استفاده از کلاس‌های یونیکدی مدیریت کنید. استفاده از \\b برای مرزهای کلمه گاهی به دلیل کاراکترهای غیر کلمه‌ای دقیق عمل نمی‌کند؛ در صورت نیاز از مرزهای دقیق‌تر استفاده کنید. برای حل دقیق، استفاده از Pattern.compile("\\\\b09\\\\d{9}\\\\b") و Matcher.find() برای جمع‌آوری شماره‌ها در لیست و چاپ آن کافی است. فراموش نکنید در رشته جاوا باید بک‌اسلش‌ها را با دو بار بنویسید.

گزارش

1 پاسخ

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

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