با استفاده از تابع str_split در PHP یک رشته متنی طولانی را به بلوک‌های 10 کاراکتری تقسیم کنید و تعداد بلوک‌هایی را که حداقل یک عدد (۰-۹) در خود دارند، محاسبه و نمایش دهید.

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

0.0

برای حل این مسئله در PHP، ابتدا از str_split($text, 10) برای تقسیم رشته به آرایه‌ای از بلوک‌های 10 کاراکتری استفاده کنید، سپس با یک حلقه یا array_filter هر بلوک را با preg_match('/\d/') بررسی کرده و شمار بلوک‌های حاوی عدد را بشمارید. توجه داشته باشید که برای رشته‌های چندبایتی (UTF-8) بهتر است از mb_str_split یا روش‌های سازگار با یونیکد استفاده کنید تا تقسیم‌بندی کاراکترها به درستی انجام شود.

توسط پژوهشگر در 201 روز قبل ساعت 03:43
دسته بندی ها: PHP PHP for beginner
reyhaneh در 201 روز قبل ساعت 05:26

برای حفظ سازگاری با کاراکترهای چندبایتی بهتر است از mb_str_split به جای str_split استفاده کنید تا تقسیم بلوک‌ها دقیقا روی کاراکترها انجام شود. استفاده از str_split با طول بلوک 10 ممکن است کاراکترهای چندبایتی را بشکند. برای تشخیص وجود عدد در هر بلوک می‌توانید از preg_match('/\d/', $block) استفاده کنید و با array_filter بلوک‌های حاوی عدد را فیلتر کنید و سپس تعدادشان را با count(...) به دست آورید. در صورت ASCII بودن متن، استفاده از str_split ساده هم کار می‌دهد.

گزارش

1 پاسخ

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

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