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

السؤال

نشر

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

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

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

Recommended Posts

  • 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"

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

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...