اذهب إلى المحتوى
  • 0

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

Blackhacker

السؤال

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

"This should be connected" becomes "This_should_be_connected"

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 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
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...