یک برنامه پایتون بنویسید که یک فایل متنی حاوی سرفصل‌های سبک Markdown (خط‌هایی که با یک تا شش '# ' شروع می‌شوند) را با استفاده از re.split به بخش‌ها تقسیم کند و هر بخش را چاپ یا در فایل جداگانه ذخیره نماید.

10.0 بازدید آخرین ویرایش در 223 روز قبل ساعت 01:05

0.0

از ماژول re و تابع re.split استفاده کنید؛ الگوی پیشنهادی برای حفظ سرفصل‌ها هنگام تقسیم: r'(?m)(?=^#{1,6}\s)' که با فلگ MULTILINE به خطوط نگاه می‌کند و با lookahead تقسیم را طوری انجام می‌دهد که سرفصل‌ها به ابتدای هر بخش باقی بمانند. فایل را بخوانید، نتیجه split را فیلتر کنید (رشته‌های خالی را حذف و strip بزنید) و سپس هر بخش را به صورت جداگانه چاپ یا با نام‌های ترتیبی در فایل‌های جدا ذخیره کنید؛ اگر می‌خواهید سرفصل‌ها حذف شوند از الگوی r'(?m)^#{1,6}\s.*$' بدون lookahead استفاده کنید.

توسط پژوهشگر در 223 روز قبل ساعت 01:05
دسته بندی ها: Python Python for beginner
arash در 223 روز قبل ساعت 14:44

ایده خوب است که از re.split با الگوی نگاه به آینده (lookahead) استفاده کنید تا سرفصل‌ها به ابتدای هر بخش بچسبند و نگه‌دارندهٔ آنها باشند. فراموش نکنید که فایل را با utf-8 باز کنید و نتیجه تقسیم را فیلتر کرده و strip کنید تا رشته‌های خالی حذف شوند. اگر می‌خواهید سرفصل‌ها حفظ شوند، از الگوی (?m)(?=^#{1,6}\s) استفاده و پرچم MULTILINE را فعال کنید؛ در مقابل برای حذف سرفصل‌ها، از الگوی ^#{1,6}\s.*$ بدون lookahead استفاده کنید. برای فایل‌های بزرگ، به خواندن تدریجی یا ذخیره‌بخشی به فایل‌های جداگانه با نام‌های ترتیبی نگاه کنید تا حافظه به خوبی مدیریت شود.

گزارش

1 پاسخ

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

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