الوحدة النصية في Python تحتوي على بعض الثوابت، وظائف الأدوات، والفئات لتلاعب النصوص.
وحدة النص في Python
إنها وحدة مدمجة ويجب علينا استيرادها قبل استخدام أي من ثوابتها وفئاتها.
ثوابت وحدة النص
لنلقي نظرة على الثوابت المعرفة في وحدة النص.
import string
# ثوابت وحدة النص
print(string.ascii_letters)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.digits)
print(string.hexdigits)
print(string.whitespace) # ' \t\n\r\x0b\x0c'
print(string.punctuation)
الناتج:
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789abcdefABCDEF
!"#$%&'()*+,-./:;?@[\]^_`{|}~
وظيفة capwords() في وحدة النص
تحتوي وحدة السلسلة في Python على وظيفة مساعدة واحدة فقط – capwords(s، sep=None). هذه الوظيفة تقسم السلسلة المحددة إلى كلمات باستخدام str.split(). ثم تجعل كل كلمة بداية حرفها كبيرًا باستخدام وظيفة str.capitalize()
. وأخيرًا، تقوم بدمج الكلمات المحددة بواسطة str.join(). إذا لم يتم توفير sep كمعلم اختياري أو إذا كان None، فإن الفراغات البيضاء الأولية والنهائية يتم إزالتها وتفصل الكلمات بمسافة بيضاء واحدة. إذا تم توفيرها، فإن الفاصلة تُستخدم لتقسيم ودمج الكلمات.
s = ' Welcome TO \n\n JournalDev '
print(string.capwords(s))
الناتج: مرحبًا بك في Journaldev
فصول وحدة السلسلة في Python
تحتوي وحدة السلسلة في Python على فصلين – Formatter وTemplate.
Formatter
تتصرف بالضبط كوظيفة str.format(). تصبح هذه الفئة مفيدة إذا كنت ترغب في إنشاء فئة فرعية لها وتعريف بنية سلسلة التنسيق الخاصة بك. دعنا نلقي نظرة على مثال بسيط لاستخدام فئة Formatter.
from string import Formatter
formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))
# تتصرف format() بنفس الطريقة
print('{} {website}'.format('Welcome to', website='JournalDev'))
الإخراج:
Welcome to JournalDev
Welcome to JournalDev
القالب
يُستخدم هذا الصنف لإنشاء قالب سلسلة للاستبدالات السلسة كما هو موضح في PEP 292. إنه مفيد في تنفيذ التدويل الدولي (i18n) في تطبيق حيث لا نحتاج إلى قواعد تنسيق معقدة.
from string import Template
t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)
الإخراج: Pankaj هو مؤسس JournalDev.
يمكنك مراجعة البرنامج النصي الكامل للبايثون والمزيد من الأمثلة على بايثون من مستودعنا على GitHub.
المرجع: الوثائق الرسمية
Source:
https://www.digitalocean.com/community/tutorials/python-string-module