مقدمة
يمكنك إنشاء سلسلة نصية خام في Python عن طريق إضافة بادئة إلى النص بـ r
أو R
. تعامل سلسلة Python النصية الخام مع حرف الشرطة العكسية (\) كحرف حرفي. تعتبر السلسلة النصية الخام مفيدة عندما تحتوي السلسلة على شرطة عكسية، مثل في تعبير منتظم أو مسار دليل Windows، ولا ترغب في أن تعامل كحرف هروب. يغطي هذا المقال أساسيات كيفية عمل سلاسل Python النصية الخام ويقدم بعض الأمثلة الشائعة على كيفية استخدام السلاسل النصية الخام لتضمين الأحرف الخاصة في السلاسل.
تستخدم الأمثلة في هذا المقال وحدة التحكم التفاعلية لـ Python في سطر الأوامر لتوضيح سيناريوهات مختلفة للسلسلة النصية الخام.
تضمين حرف سطر جديد في سلسلة باستخدام السلسلة النصية الخام
تستخدم هذه السلسلة مع قيمة: Hi\nHello
. إذا حاولت تعيين هذه القيمة لسلسلة عادية، ثم ينشئ حرف سطر جديد (\n
) سطرًا جديدًا:
- s = 'Hi\nHello'
اطبع السلسلة:
- print(s)
الإخراج هو:
Hi
Hello
يظهر الإخراج أن حرف السطر الجديد يؤدي إلى سطر جديد.
لتضمين حرف السطر الجديد في السلسلة، قم بإضافة البادئة r
أو R
إلى متغير السلسلة لإنشاء سلسلة نصية خامة:
- raw_s = r'Hi\nHello'
اطبع السلسلة:
- print(raw_s)
الناتج هو:
Hi\nHello
الناتج يتضمن حرف السطر الجديد.
تضمين حروف الشرطة المزدوجة في سلسلة باستخدام سلسلة نصية خامة
إذا كنت تحاول تضمين حروف الشرطة المزدوجة، مثل مسار اسم المضيف، في سلسلة عادية، فإن الحرف الأول من حروف الشرطة لن يتم طباعته لأن المترجم يعتبر الشرطة الخلفية مؤشر هروب.
على سبيل المثال، أنشئ سلسلة تحتوي على مسار:
- s = '\\examplehost\digitalocean\content\'
اطبع السلسلة:
- print(s)
الناتج هو:
\examplehost\digitalocean\content\
يظهر الناتج أن الحرف الأول من حروف الشرطة لم يتم تضمينه في السلسلة.
لتضمين كل من حروف الشرطة في السلسلة، قم بإضافة البادئة r
أو R
إلى متغير السلسلة لإنشاء سلسلة نصية خامة:
- s = r'\\examplehost\digitalocean\content\'
اطبع السلسلة:
- print(s)
الناتج هو:
\\examplehost\digitalocean\content\
الناتج يتضمن كل من حروف الشرطة.
اقتباسات استكشاف الأخطاء والشخصيات المائلة في السلاسل النصية الخام
في السلسلة النصية الخام، يمكن للعلامات تظل سليمة بفضل علامة الشرطة الخلفية الفردية، ومع ذلك، تظل علامة الشرطة الخلفية في السلسلة النصية الناتجة.
بالإضافة إلى ذلك، لا يمكن أن تنتهي السلسلة النصية الخام بعدد فردي من علامات الشرطة الخلفية. وبسبب هذه الميزة، لا يمكنك إنشاء سلسلة نصية خامة تحتوي على علامة شرطة خلفية واحدة، لذلك r"/"
هو سلسلة غير صالحة.
أمثلة على سلاسل نصية خامة غير صالحة
في هذا المثال، تفتقد علامة الاقتباس النهائية من الإخراج لأنها تتم الهروب بها بواسطة علامة الشرطة الخلفية مما يؤدي إلى خطأ في سلسلة أدبية غير مكتملة
:
r'\'
في هذا المثال، ستقوم الشرطة الخلفية الأولى بالهروب من بعضها البعض، وستحاول الثالثة الهروب من علامة الاقتباس النهائية، مما يؤدي إلى خطأ في سلسلة أدبية غير مكتملة
:
r'ab\\\'
أمثلة على سلاسل نصية خامة صالحة
ها هي بعض الأمثلة على سلاسل نصية خام صحيحة تتضمن علامات اقتباس وحروفًا مائلة للخلف.
قم بإنشاء سلسلة نصية خام تهرب من علامات الاقتباس:
- s = r"\"\""
قم بطباعة السلسلة:
- print(s)
الناتج هو:
\"\"
يُظهر الناتج أن حروف الخلفية تهرب من علامات الاقتباس بحيث لا تنتهي السلسلة، ولكن تبقى حروف الخلفية في سلسلة النتيجة.
قم بإنشاء سلسلة نصية خام تحتوي على عدد زوجي من حروف الخلفية:
- s = R'ab\\'
قم بطباعة السلسلة:
- print(s)
الناتج هو:
ab\\
يُظهر الناتج أن العدد الزوجي من حروف الخلفية مُضمَّن في سلسلة النتيجة.
الاستنتاج
في هذه المقالة، تعلمت أساسيات السلاسل النصية الخام في Python. استمر في تعلمك حول سلاسل Python.
Source:
https://www.digitalocean.com/community/tutorials/python-raw-string