> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/arabic/alblwkat-alwzyfyh/blocks-reference/data-logic/data-operations/find-substring.md).

# Find Substring

هذه الدالة تبحث عن نص أقصر داخل نص أطول وتعيد قيمة منطقية (boolean) تُظهر ما إذا كان النص الأصغر موجودًا داخل النص الأكبر أم لا. تُستخدم بشكل مثالي لفحوصات نصية بسيطة، تشغيل أحداث (triggers) والمنطق الشرطي داخل السيناريوهات الخاصة بك.

## 📥 المدخلات <a href="#inputs" id="inputs"></a>

`Main Text` النص الذي سيتم البحث فيه.

`Sub Text` السلسلة الفرعية التي نبحث عنها داخل النص الرئيسي.

## 📤 المخرجات <a href="#outputs" id="outputs"></a>

`Result` قيمة منطقية: TRUE إذا تم العثور على `Sub Text` داخل `Main Text`، وإلا FALSE.

## 🕹️ الضوابط <a href="#controls" id="controls"></a>

`No Controls` هذا البلوك لا يحتوي على عناصر تفاعلية؛ يعمل فقط عبر مقابس الإدخال (input sockets).

## 🎯 الميزات <a href="#features" id="features"></a>

* فحص منطقي سريع للتحقق من وجود سلسلة فرعية داخل نص.
* سلوك آمن عند وجود مدخلات فارغة: يعيد FALSE إذا كان النص المطلوب مفقودًا.
* إعداد بسيط — قدم النصوص واقرأ الناتج المنطقي فقط.

## 📝 تعليمات الاستخدام <a href="#usage" id="usage"></a>

1. أدخل النص الأطول في مقبس الإدخال `Main Text`. يمكنك استخدام بلوك `String Input` أو أي بلوك آخر يُخرج نصًا.
2. أدخل السلسلة الفرعية في مقبس الإدخال `Sub Text`.
3. اقرأ القيمة المنطقية من مقبس الإخراج `Result` لاتخاذ الإجراءات اللاحقة (مثلاً: تشغيل تسجيل أو تنبيه).

## 📊 التقييم <a href="#evaluation" id="evaluation"></a>

عند التشغيل، يتحقق هذا البلوك مما إذا كانت قيمة `Sub Text` موجودة داخل `Main Text` ويخرج نتيجة الفحص عبر مقبس `Result`.

## 💡 نصائح وحيل <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* لتجنب مشاكل حساسية الحروف (case-sensitivity)، اجمع هذا البلوك مع `String Operations` لتحويل النصين إلى حالة موحدة قبل الفحص.
* استخدم `String Merge` لبناء رسائل ديناميكية (مثلاً دمج أجزاء متغيرة في `Main Text` واحد).
* استخدم `Is None` أو `Replace None` قبل هذا البلوك لضمان التعامل المتوقع مع المدخلات الفارغة.
* وجه الناتج المنطقي `Result` إلى `Logic Input` أو إلى بلوكات منطقية أخرى مثل `And`, `Or` للتحكم في تدفقات شرطية.
* استخدم `Debug Input` أو `Data to JSON` لتسجيل المطابقات أثناء التطوير واستكشاف الأخطاء.
* لتخزين أو تصدير أحداث المطابقة، اجمع الناتج المنطقي مع تدفقات `CSV Export` أو `Image Logger` حسب احتياجات البيانات لديك.

## 🛠️ استكشاف الأخطاء وإصلاحها <a href="#troubleshooting" id="troubleshooting"></a>

* عدم وجود مطابقات مع توقع وجودها: تحقق من اختلاف الحروف الكبيرة/الصغيرة أو المسافات الزائدة في البداية/النهاية. قم بتطبيع النص باستخدام `String Operations` (مثل التحويل إلى حروف صغيرة أو إزالة المسافات) قبل إدخاله في هذا البلوك.
* دائمًا FALSE: تأكد من أن مقابس `Main Text` و`Sub Text` تستقبلان نصًا صالحًا. استخدم `Debug Input` لفحص القيم الصادرة من البلوكات السابقة.
* مطابقات TRUE غير متوقعة: تحقق من السلسلة الفرعية المقدمة؛ الأخطاء الطفيفة أو الكلمات الجزئية قد تُنتج مطابقات اعتمادًا على المحتوى.
