• 0

كيف أستبدل جميع الفراغات بخطوط سفلية في روبي؟

جربت استخدام السطر التالي لاستبدال جمع الفراغات بخطوط سفلية في روبي:

str.downcase.tr!(" ", "_")

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

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


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

يوجد عدة طرق لفعل ذلك في روبي، والطريقة التي وضعتها شبه صحيحة، ما عليك سوى أن تحذف علامة التعجب بعد tr ليعمل السطر مثلما تريده كما في المثال التالي:

1.9.3-p0 :010 > str= "  John   Smith Beer "
  => "  John   Smith Beer "
1.9.3-p0 :011 > str.downcase.tr(" ", "_")
  => "__john___smith_beer_"

وهنالك حل آخر أفضل من الحل الذي وضعته والذي يقلل من الفراغات والاستبدالات كما في المثال التالي:

1.9.3-p0 :010 > str= "  John   Smith Beer "
  => "  John   Smith Beer "
1.9.3-p0 :012 > str.squish.downcase.tr(" ","_")
  => "john_smith_beer"

ملاحظة: المثال السابق يعمل على ريلز.

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


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

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

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

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


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

تسجيل الدخول

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


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