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

string.find()

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

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

تعمل الدالة string.find() مع الأنماط بالطريقة نفسها التي تعمل بها مع السلاسل النصية الحرفية. وتُرجع الموضع الذي يتطابق فيه النمط أولًا:

local text = "User123"
local position = string.find(text, "%d")
print(position)  -- الناتج: 5

يبحث هذا عن الرقم الأول في السلسلة النصية، وهو في الموضع 5. يمكنك أيضًا البحث عن العكس باستخدام فئات الأحرف المكتوبة بأحرف كبيرة:

local code = "ABC123"
local position = string.find(code, "%D")
print(position)  -- المخرجات: 1

هنا، يطابق %D أي محرف غير رقمي، لذا يجد الحرف الأول في الموضع 1.

من مهام التحقق الشائعة التحقق مما إذا كانت سلسلة نصية تبدأ بنمط محدد. يمكنك استخدام المرساة ^ في بداية النمط للمطابقة عند بداية السلسلة النصية فقط:

local username = "player42"
local startsWithLetter = string.find(username, "^%a")

if startsWithLetter then
    print("Valid username")
else
    print("Username must start with a letter")
end

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

challenge icon

التحدي

سهل

اكتب دالة startsWithLetter تتلقى text وتُرجع ما إذا كانت السلسلة تبدأ بحرف.

استخدم string.find() مع المُثبّت ^ وفئة المحارف %a للتحقق مما إذا كانت السلسلة تبدأ بحرف.

المعلمات:

  • text (string): السلسلة المطلوب التحقق منها

القيمة المُعادة: true إذا بدأت السلسلة بحرف، وfalse خلاف ذلك (boolean)

جرّب بنفسك

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

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

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

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