تبحث طريقة IndexOf () الخاصة بسلسلة ما إذا كانت السلسلة التي تم تمريرها كمعلمة تظهر على السلسلة، وإذا تم العثور على السلسلة، فإنها ترجع موضع بداية الحرف (0 يعني الحرف الأول، 1 يعني أن الحرف الثاني يتبعه بالقياس). ) إذا لم يتم العثور عليه، فإنه يُرجع -1. تبحث طريقة IndexOf() للسلسلة عما إذا كانت السلسلة التي تم تمريرها كمعلمة تظهر على السلسلة. إذا تم العثور على السلسلة، فإنها تُرجع موضع البداية للحرف (0 يعني الحرف الأول، 1 يعني الحرف الثاني وهكذا) إذا كانت الرسالة غير موجودة، فإنها ترجع -1
إرجاع موضع الحرف للتواجد الأول للسلسلة الفرعية داخل كائن السلسلة.
انسخ رمز الكود كما يلي:
الفهرس العام (القيمة: سلسلة، [startIndex:Number]) : الرقم
يبحث في سلسلة ويعيد موضع التواجد الأول للقيمة التي تم العثور عليها في startIndex أو بعده داخل سلسلة الاستدعاء. يعتمد هذا الفهرس على الصفر، مما يعني أن الحرف الأول في السلسلة يعتبر عند الفهرس 0 بدلاً من الفهرس 1. إذا لم يتم العثور على القيمة، ترجع هذه الطريقة -1.
المعلمة
القيمة: سلسلة - السلسلة الفرعية المراد البحث عنها.
startIndex:Number [اختياري] - عدد صحيح يحدد فهرس البداية للبحث.
يعود
الرقم - موضع التواجد الأول للسلسلة الفرعية المحددة، أو -1.
-------------------------------------------------- -------------------------------------------------- -----------------------------------------------
طريقة الفهرس
إرجاع موضع الحرف للتواجد الأول للسلسلة الفرعية داخل كائن السلسلة.
strObj.indexOf(subString[, startIndex])
المعلمة
ستروب
مطلوب. كائن سلسلة أو حرفي.
سلسلة فرعية
مطلوب. السلسلة الفرعية المطلوب العثور عليها في كائن السلسلة.
starIndex
خياري. تشير هذه القيمة الصحيحة إلى الفهرس الموجود داخل كائن السلسلة لبدء البحث. إذا تم حذفه، يكون البحث من بداية السلسلة.
يوضح
تقوم طريقة IndexOf بإرجاع قيمة عددية تشير إلى موضع البداية للسلسلة الفرعية داخل كائن السلسلة. إذا لم يتم العثور على السلسلة الفرعية، فسيتم إرجاع -1.
إذا كانت قيمة startindex سالبة، فسيتم التعامل مع قيمة startindex على أنها صفر. إذا كان أكبر من أكبر فهرس لموضع الأحرف، فسيتم التعامل معه على أنه أكبر فهرس ممكن.
يتم البحث من اليسار إلى اليمين. وبخلاف ذلك، فإن الطريقة هي نفس الطريقة lastIndexOf.
مثال
يوضح المثال التالي استخدام الأسلوب IndexOf.
انسخ رمز الكود كما يلي:
دالة الفهرس التجريبي (str2) {
var str1 = BABEBIBOBUBABEBIBOBU
var s = str1.indexOf(str2);
العودة (ق)؛
}
مثال:
أحصل على سلسلة كـ 1،18،33
إذا تم كتابته كمؤشر (1) فيبدو أنه لا يمكن العثور عليه، والأهم من ذلك أن هناك 1 أمام 18 و1، وبالتالي فإن شروط إنشائها ليست دقيقة.
يتم استخدام مؤشر مثل هذا
انسخ رمز الكود كما يلي:
اختبار السلسلة = 1,18,33;
إذا (test.IndexOf(1) > -1)
{
الاستجابة. الكتابة (موجود)؛
}
آخر
{
Response.Write(غير موجود);
}
ولكن إذا كان 1 فقط يلبي المتطلبات، ولكن 1 من 18 لا يلبي المتطلبات، فلا يمكن استخدام IndexOf، لذلك
انسخ رمز الكود كما يلي:
باستخدام System.Text.RegularExpressions؛
اختبار السلسلة = 1,18,33;
إذا (Regex .IsMatch(test, @/b1/b))
{
الاستجابة. الكتابة (موجود)؛
}
آخر
{
Response.Write(غير موجود);
}
ملحوظة:
/b يطابق حدود الكلمة في regex
كتب طريقة
انسخ رمز الكود كما يلي:
// سلسلة المصدر src
// سلسلة القطران المراد مقارنتها
سلسلة التحقق المنطقية الخاصة (سلسلة src، سلسلة tar)
{
string temp = Regex.Replace(tar, @[.$^{/[(|)*+?//], );
إذا (درجة الحرارة.الطول <القطران.الطول)
عودة كاذبة.
إذا (Regex.IsMatch(src, @/b + tar + @/b))
عودة صحيحة؛
عودة كاذبة.
}