• 0

كيف أستبدل سلسلة نصية بنمط من تعبير نصي في روبي؟

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

function get_code(str){
    return str.replace(/^(Z_.*): .*/,"$1");
}

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


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

هنالك عدّة طرق  لاستبدال سلسلة نصية بنمط من تعبير نصي في لغة روبي، فيمكنك على سبيل المثال استخدام دالة gsub() مع '\1' للاستبدال كما في المثال التالي:

"foo".gsub(/(o+)/, '\1\1\1')
#=> "foooooo"

لاحظ أننا استخدمنا علامة الاقتباس مفردة وهذا الأمر مهم لأنه في حالة استخدامك لعلامة الاقتباس المزدوجة فيجب عليك في هذه الحالة تهريب رمز \.
بما أنك مهتم بالمجموعات (كما يبدو في مثالك)، لاحظ أنه يمكنك استخدام التعابير النصية مع السلاسل النصية عن طريق index كما في المثال التالي:

"foo"[/oo/]
#=> "oo"
"Z_123: foobar"[/^Z_.*(?=:)/]
#=> "Z_123"

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


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

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

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

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


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

تسجيل الدخول

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


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