"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية إلغاء المسافة البادئة لسلسلة متعددة الأسطر في بايثون؟

كيفية إلغاء المسافة البادئة لسلسلة متعددة الأسطر في بايثون؟

تم النشر بتاريخ 2024-11-01
تصفح:529

How to Unindent a Multiline String in Python?

إزالة مسافة بادئة لسلسلة متعددة الأسطر في بايثون

في بايثون، قد يؤدي العمل مع سلاسل متعددة الأسطر أحيانًا إلى ظهور مسافة بادئة عامة غير مرغوب فيها، مما يجعل العمل معها أمرًا صعبًا السلسلة حسب الرغبة. إذا كان لديك سلسلة ذات مسافة بادئة عامة وتريد إزالتها، فقد لا تتبادر إلى ذهنك وظيفة مضمنة بسهولة.

الحل: استخدام textwrap.dedent()

على الرغم من أن Python لا تحتوي على وظيفة مدمجة مخصصة لإلغاء المسافة البادئة للسلاسل، فإن الحل يكمن في المكتبة القياسية. توفر وحدة 'textwrap' وظيفة تسمى 'dedent()'، مصممة خصيصًا لإزالة المسافة البادئة الشائعة من سلسلة متعددة الأسطر.

لاستخدام 'dedent()'، ما عليك سوى تمرير السلسلة ذات المسافة البادئة كوسيطة، وسوف يقوم تلقائيًا بإزالة أي مسافة بيضاء بادئة تكون متسقة عبر جميع الأسطر في السلسلة. والنتيجة هي سلسلة غير مسافة بادئة، مما يسمح لك بالعمل معها حسب الحاجة.

مثال:

خذ بعين الاعتبار السلسلة التالية ذات مسافة بادئة:

ق = """ وحدة التحكم = تتطلب "وحدة تحكم" فئة فو عرض: "باز" الطبقة: "شريط" المنشئ: -> تحكم ميكس @ """

s = """
    Controller = require 'controller'

    class foo
        view: 'baz'
        class: 'bar'

        constructor: ->
            Controller.mix @
"""

>>> print(textwrap.dedent(s)) وحدة التحكم = تتطلب "وحدة تحكم" فئة فو عرض: "باز" الطبقة: "شريط" المنشئ: -> Controller.mix @

>>> print(textwrap.dedent(s))

Controller = require 'controller'

class foo
    view: 'baz'
    class: 'bar'

    constructor: ->
        Controller.mix @
بيان الافراج أعيد طبع هذه المقالة على: 1729741959 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3