• 0

كيف أستبدل الفراغات بخطوط سفلية في بايثون؟

أحتاج إلى استبدال الفراغات الموجودة في سلسلة نصية معينة بخطوط سفلية من أجل استخدامها في  الروابط كما في المثال التالي:

"This should be connected" becomes "This_should_be_connected"

فما الطريقة الصحيحة لفعل ذلك في بايثون أو حتى في إطار دجانغو؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

يوجد العديد من الطرق لفعل ذلك في بايثون، فيمكنك على سبيل المثال استخدام التعابير النمطية لحذف جميع الرموز والبحث عن الفراغات واستبدالها بخطوط كالتالي:

def urlify(s):

     # Remove all non-word characters (everything except numbers and letters)
     s = re.sub(r"[^\w\s]", '', s)

     # Replace all runs of whitespace with a single dash
     s = re.sub(r"\s+", '-', s)

     return s


# Prints: I-cant-get-no-satisfaction"
print urlify("I can't get no satisfaction!")

أو يمكنك استخدام دالة replace بكل سهولة للاستبدال داخل السلسلة النصية كما في المثال التالي:

mystring.replace (" ", "_")

وبما أنك ذكرت أنك تستخدم دجانغو، فيمكنك استخدام دالة slugify والتي تُستخدم خصيصا لتحويل السلاسل النصية إلى شكل يُستخدم للروابط كالتالي:

>>> from django.template.defaultfilters import slugify
>>> slugify("This should be connected")

this-should-be-connected

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن