التابع String.scrub في روبي

من موسوعة حسوب
< Ruby‏ | String
مراجعة 07:27، 15 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إضافة المحتوى)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يعيد التابع scrub نسخة عن السلسلة النصية التي استدعي معها مع استبدال البايتات غير الصالحة بمحرف محدَّد. إذا لم تحتوي السلسلة على بايتات غير صالحة، فإنَّ التابع يعيد السلسلة النصية نفسها.

فى حال وجود كتلة، فإنَّ التابع يعيد نسخة عن السلسلة النصية مع استبدال كل بايت غير صالح بالقيم التي تعيدها الكتلة.

البنية العامة

scrub  new_str
scrub(repl)  new_str
scrub{|bytes|}  new_str

المعاملات

repl

المحرف الذي سيحل مكان كل بايت غير صالح في السلسلة النصية المعطاة.

القيمة المعادة

تُعاد نسخة عن السلسلة النصية المعطاة مع استبدال كل تسلسل غير صالح بالمحرف repl. إذا لم تحتوي السلسلة على تسلسل غير صالح، فستُعاد السلسلة النصية المعطاة نفسها. إن أعطيت كتلة، فستُعاد نسخة عن السلسلة النصية مع استبدال كل بايت غير صالح بالقيمة التي تعيدها هذه الكتلة.

أمثلة

مثال على استعمال التابع scrub:

"abc\u3042\x81".scrub #=> "abc\u3042\uFFFD"
"abc\u3042\x81".scrub("*") #=> "abc\u3042*"
"abc\u3042\xE3\x80".scrub{|bytes| '<'+bytes.unpack('H*')[0]+'>' } #=> "abc\u3042<e380>"

انظر أيضًا

  • التابع partition: يبحث عن تطابق نص أو نمط محدد ضمن السلسلة النصية التي استدعي معها.
  • التابع replace: يستبدل محتوى السلسلة النصية التي استدعي معها بمحتوى السلسلة المُمرَّرة إليه.
  • التابع scrub!‎: يستبدل البايتات غير الصالحة في السلسلة النصية التي استدعي معها بمحرف محدَّد أو بالقيمة التي تعيدها الكتلة إن أعطيت.

مصادر