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 في الجملة.
التحدي
سهلقم بإنشاء كاشف رسائل سرية يبحث عن كلمة كود مخفية داخل رسالة نصية أكبر. قم بتصريح متغير يسمى 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)يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات 2: العمليات العلائقية والمنطقية
معاملات التساويالمعاملات العلائقيةالمعامل 'and'المعامل 'or'المعامل 'not'التقييم قصير الدائرةقيم Truthy و Falsyمراجعة - المنطق البسيط10الجداول الجزء 1: نمط القائمة
ما هو الجدول؟إنشاء جدولالوصول إلى العناصر عبر الفهرستعديل العناصر عبر الفهرسمعامل الطول '#'table.insert()table.remove()ملخص - إدارة أعضاء الفريق13مشروع: متجر جرعات بسيط
إعداد المشروعإضافة جرعة2المتغيرات وأنواع البيانات
ما هو المتغير؟الأرقامالسلاسل النصيةالقيم المنطقيةالقيمة 'nil'الدالة type()قواعد التسميةمراجعة - ملف الشخصية5الإخراج الأساسي
طباعة القيم الحرفيةطباعة المتغيراتطباعة قيم متعددةدمج النصوص والمتغيراتدالة tostring()الإدخال (Input)التحويل (Cast)مراجعة - تقرير الحالةمراجعة - حتى 1208أساسيات معالجة النصوص
string.len()string.upper و string.lowerstring.sub()string.rep()string.find()مراجعة - تنسيق اسم المستخدم3المعاملات 1: العمليات الحسابية والدمج
المعاملات الحسابيةمعامل باقي القسمةمعامل الأسدمج النصوصأولوية المعاملاتملخص - حسابات بسيطة6مشروع: عرض إحصائيات الشخصية
رسالة ترحيبتعريف إحصائيات الشخصية9أساسيات الدوال
تعريف دالةاستدعاء دالةدوال مع معاملاتدوال بمعاملات متعددةجملة 'return'مراجعة - حاسبة المساحة12أساسيات الحلقات التكرارية
حلقة whileحلقة repeat-untilحلقة for الرقميةحلقة for مع خطوةجملة 'break'مراجعة - العد التنازلي