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

string.find()

جزء من قسم Fundamentals في رحلة Lua على Coddy — الدرس 48 من 90.

تعد الدالة string.find() أداة قوية للبحث داخل النصوص. فهي تتيح لك البحث عن نص أصغر (يسمى نمطاً) داخل نص أكبر وتخبرك بمكانه بالضبط.

إليك الصيغة الأساسية:

string.find(text, pattern)

عندما يحدد string.find() موقع النمط بنجاح، فإنه يعيد رقمين: موضع البداية وموضع النهاية للمطابقة. إذا لم يتم العثور على النمط، فإنه يعيد nil.

إليك مثال بسيط:

local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos)  -- المخرجات: 5 12

في هذا المثال، تبدأ كلمة "treasure" عند الموضع 5 وتنتهي عند الموضع 12 في الجملة.

challenge icon

التحدي

سهل

قم بإنشاء كاشف رسائل سرية يبحث عن كلمة كود مخفية داخل رسالة نصية أكبر. قم بتصريح متغير يسمى message وقم بتعيين القيمة "The ancient treasure lies beneath the old oak tree" له. استخدم الدالة string.find() للبحث عن الكلمة "treasure" داخل الرسالة وقم بتخزين موضعي البداية والنهاية في متغيرات تسمى startPos و endPos. اطبع قيمتي الموضعين في أسطر منفصلة.

ورقة مرجعية

تبحث الدالة string.find() عن نمط داخل سلسلة نصية وتعيد موضعي البداية والنهاية للتطابق، أو nil إذا لم يتم العثور عليه.

الصيغة الأساسية:

string.find(text, pattern)

مثال:

local sentence = "The treasure is hidden here"
local start_pos, end_pos = string.find(sentence, "treasure")
print(start_pos, end_pos)  -- المخرجات: 5 12

جرّب بنفسك

-- التصريح عن متغير الرسالة
local message = "The ancient treasure lies beneath the old oak tree"

-- TODO: اكتب كودك هنا للعثور على كلمة "treasure" وتخزين المواقع

-- طباعة المواقع
print(startPos)
print(endPos)
quiz iconاختبر نفسك

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

جميع دروس Fundamentals