Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

استخدام string.gsub() للاستبدال

جزء من قسم المنطق والتحكم في التدفق في رحلة Lua على Coddy. الدرس 35 من 54.

عند العمل مع string، تحتاج غالبًا إلى البحث عن نص واستبداله. تجعل الدالة string.gsub() في Lua هذا الأمر سهلًا من خلال إجراء استبدال شامل: البحث عن جميع تكرارات نمط واستبدالها بشيء آخر.

تأخذ الصياغة الأساسية ثلاث وسيطات: السلسلة النصية الأصلية، والنمط المطلوب العثور عليه، ونص الاستبدال:

local result = string.gsub(originalString, pattern, replacement)

إليك مثالًا بسيطًا يستبدل جميع المسافات بشرطات سفلية:

local text = "hello world from lua"
local cleaned = string.gsub(text, " ", "_")
print(cleaned)  -- المخرجات: hello_world_from_lua

تُرجع function قيمتين: السلسلة النصية المعدَّلة وعدد الاستبدالات التي أُجريت. يمكنك التقاط القيمتين إذا لزم الأمر:

local result, count = string.gsub("foo bar foo", "foo", "baz")
print(result)  -- المخرجات: baz bar baz
print(count)   -- المخرجات: 2

على عكس بعض دوال السلاسل النصية التي تعثر على التطابق الأول فقط، تستبدل string.gsub() كل تكرار افتراضيًا، مما يجعلها مثالية لمهام تنظيف النصوص مثل إزالة الأحرف غير المرغوب فيها أو توحيد التنسيق.

challenge icon

التحدي

سهل

اكتب function باسم cleanText يأخذ text ويُرجع نسخة منظَّفة منه مع استبدال جميع المسافات بشرطات سفلية.

استخدم string.gsub() لاستبدال كل حرف مسافة في النص بحرف شرطة سفلية.

المعلمات:

  • text (string): النص المراد تنظيفه

القيمة المُعادة: النص مع استبدال جميع المسافات بشرطات سفلية (string)

جرّب بنفسك

function cleanText(text)
    -- اكتب الكود هنا
end
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق والتحكم في التدفق

تدرّب بنفسك: مترجم Lua عبر الإنترنت