• 0

كيف أبدّل عدّة سلاسل نصية في روبي؟

أريد استبدال هذه السلسلة النصية:

str = "Hello☺ World☹"

بهذه السلسلة:

"Hello:) World:("

فما أقصر الطرق التي أستطيع استخدمها لاستبدال بعض الرموز في السلسلة النصية بحروف ورموز أخرى؟

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


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

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

str.gsub("☺", ":)").gsub("☹", ":(")

في حالة كان عدد الاستبدالات كبير فيمكنك في هذه الحالة استخدام قائمة لتضع فيها جميع الاستبدالات ومن ثم استخدام تابع gsub كما في المثال التالي:

replacements = [ ["☺", ":)"], ["☹", ":("] ]
replacements.each {|replacement| str.gsub!(replacement[0], replacement[1])}

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


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

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

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

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


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

تسجيل الدخول

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


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