Javaالدالة indexOf()
في جافا
تعريفها
تبحث في الـ String
الذي قام بإستدعائها عن أول index يوجد إبتداءاً من عنده نفس النص أو الحرف الذي نمرره لها و ترجعه.
بمعنى آخر, نعطيها أي نص أو حرف, فترجع لنا رقم أول خانة وجد عندها.
إفتراضياً هذه الدالة تبدأ عملية البحث من الـ index رقم 0 إلى آخر index موجود في الـ String
.
و في حال لم يتم العثور على النص المراد البحث عنه ترجع 1-.
بناؤها
هناك أربع أشكال من هذه الدالة. أي يمكن إستدعاءها بأربع طرق مختلفة.
// الشكل الأول public int indexOf(char ch) // الشكل الثاني public int indexOf(char ch, int fromIndex) // الشكل الثالث public int indexOf(String str) // الشكل الرابع public int indexOf(String str, int fromIndex)
باراميترات
- مكان الباراميتر
ch
نمرر الحرف الذي ستبحث عنه الدالة. - مكان الباراميتر
str
نمرر الـString
الذي ستبحث عنه الدالة. - الباراميتر
fromIndex
هو باراميتر إختياري, نضع مكانه رقم في حال أردنا جعل الدالة تبدأ عملية البحث من رقم index محدد و ليس من الـ index رقم 0.
قيمة الإرجاع
ترجع رقم يمثل أول index وجد عنده النص أو الحرف الذي مررناه لها, و ترجع 1- في حال لم يتم إيجاد تطابق.
مثال
public class Main { public static void main(String[] args) { String Str = "welcome to harmash.com, harmash is one of the best site for learning"; String subStr = "harmash"; System.out.println( Str.indexOf('a') ); // a وجد فيه الحرف index ستطبع أول System.out.println( Str.indexOf('a', 14) ); // رقم 14 index و ستبدأ في البحث من الـ a وجد فيه الحرف index ستطبع أول System.out.println( Str.indexOf(subStr) ); // subStr وجد فيه النص index ستطبع أول System.out.println( Str.indexOf(subStr, 16) ); // رقم 16 index و ستبدأ في البحث من الـ subStr وجد فيه النص index ستطبع أول System.out.println( Str.indexOf('x') ); // ستطبع 1- لأنها لن تجد هذا الحرف في كل النص System.out.println( Str.indexOf('@') ); // ستطبع 1- لأنها لن تجد هذا الحرف في كل النص System.out.println( Str.indexOf("hello") ); // ستطبع 1- لأنها لن تجد هذا النص في كل النص } }
سنحصل على النتيجة التالية عند التشغيل.
12 15 11 24 -1 -1 -1