در جاوا برنامهای بنویسید که از یک رشته ورودی همهٔ شمارههای موبایل معتبر ایرانی با الگوی 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) یا بررسی اطراف کاراکترها استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
توجه کنید که \\d تنها با اعداد ASCII کار میکند و اگر ورودی با اعداد فارسی است باید آنها را قبل از regex یا با استفاده از کلاسهای یونیکدی مدیریت کنید. استفاده از \\b برای مرزهای کلمه گاهی به دلیل کاراکترهای غیر کلمهای دقیق عمل نمیکند؛ در صورت نیاز از مرزهای دقیقتر استفاده کنید. برای حل دقیق، استفاده از Pattern.compile("\\\\b09\\\\d{9}\\\\b") و Matcher.find() برای جمعآوری شمارهها در لیست و چاپ آن کافی است. فراموش نکنید در رشته جاوا باید بکاسلشها را با دو بار بنویسید.
گزارش