CodeGym /בלוג Java /Random-HE /Java String indexOf()
John Squirrels
רָמָה
San Francisco

Java String indexOf()

פורסם בקבוצה

מהו Java String indexOf()?

כמפתח Java, בוודאי נתקלת בצורך למצוא את המיקום של תו או מחרוזת משנה בתוך מחרוזת. Java מספקת שיטה מובנית בשם indexOf() במחלקה String כדי לעזור לנו במשימה זו. שיטת indexOf() ב-Java היא חלק מהמחלקה String , כלומר Java String class indexOf() , המשמשת לתמרן מחרוזות. שיטת indexOf() ב-Java מחזירה את המיקום של המופע הראשון של תו או מחרוזת משנה בתוך מחרוזת נתונה. אם התו או המחרוזת המשנה לא נמצאו, השיטה מחזירה -1.

// Here is the syntax of the String indexOf():
public int indexOf(int ch)
public int indexOf(int ch, int fromIndex)
public int indexOf(String str)
public int indexOf(String str, int fromIndex)
בואו נצלול לתוך הדרכים השונות בהן נוכל להשתמש בשיטת `indexOf()`.

מציאת המיקום של תו במחרוזת:

נניח שיש לנו מחרוזת "שלום, עולם!" . כדי למצוא את המיקום של התו 'o' במחרוזת, נוכל להשתמש בקוד הבא:

public class StringIndexOfExample {
    public static void main(String[] args) {
        String str = "Hello, world!";
// We will use Str.indexOf here
        int position = str.indexOf('o');
        System.out.println("Position of 'o' in the string is: " + position);
    }
}

תְפוּקָה

המיקום של 'o' במחרוזת הוא: 4
בקוד לעיל, הכרזנו לראשונה על מחרוזת "שלום, עולם!" ולאחר מכן השתמש בשיטת indexOf() כדי למצוא את המיקום של התו 'o' במחרוזת. השיטה החזירה מיקום 4, שהוא המופע הראשון של התו 'o' במחרוזת.

מציאת מיקום התווים במחרוזת

להלן קטע קוד לדוגמה המדגים כיצד להשתמש בשיטת indexOf() כדי למצוא את מיקום התווים במחרוזת:

public class StringIndexOfExample {
    public static void main(String[] args) {
        String str = "Hello, world!";
        // We will use Str.indexOf here
        int position = str.indexOf('o');
        
        while (position >= 0) {
            System.out.println("'o' found at position " + position);
            position = str.indexOf('o', position + 1);
        }
    }
}

תְפוּקָה

'o' נמצא בעמדה 4 'o' נמצא בעמדה 8
בקוד לעיל, הכרזנו לראשונה על מחרוזת "שלום, עולם!" ולאחר מכן השתמש בשיטת indexOf() כדי למצוא את המיקום של התו 'o' במחרוזת. השיטה indexOf() מחזירה את המיקום של המופע הראשון של התו במחרוזת, או -1 אם התו לא נמצא. לאחר מכן השתמשנו בלולאת while כדי להמשיך לחפש את התו 'o' במחרוזת על ידי קריאה ל- indexOf() עם התו ומיקום ההתחלה הבא בתור ארגומנטים. אנו חוזרים על תהליך זה עד שה- indexOf() מחזיר -1, המציין שאין יותר מופעים של התו במחרוזת. בדוגמה זו, מצאנו שהתו 'o' מופיע בעמדות 4 ו-8 במחרוזת "Hello, world!".

מציאת המיקום של מחרוזת משנה במחרוזת

נניח שיש לנו מחרוזת "Java היא שפת תכנות פופולרית" . כדי למצוא את מיקום המחרוזת "תכנות" במחרוזת, נוכל להשתמש בקוד הבא:

public class StringIndexOfExample {
    public static void main(String[] args) {
        String str = "Java is a popular programming language";
        // We will use Str.indexOf here
        int position = str.indexOf("programming");
        System.out.println("Position of 'programming' in the string is: " + position);
    }
}

תְפוּקָה

המיקום של 'תכנות' במחרוזת הוא: 18
בקוד שלמעלה, תחילה הכרזנו על מחרוזת "Java היא שפת תכנות פופולרית" ולאחר מכן השתמשנו בשיטת indexOf() כדי למצוא את המיקום של המחרוזת המשנה "תכנות" במחרוזת. השיטה החזירה את המיקום 18, שהוא מיקום ההתחלה של המחרוזת המשנה "מתכנת" במחרוזת.

מציאת כל המופעים של תו או מחרוזת משנה במחרוזת

נניח שיש לנו מחרוזת "Java היא שפת תכנות פופולרית. Java נמצא בשימוש נרחב בפיתוח אתרים" . כדי למצוא את כל המופעים של התו 'a' או המחרוזת המשנה "Java" במחרוזת, נוכל להשתמש בקוד הבא:

public class StringIndexOfExample {
    public static void main(String[] args) {
        String str = "Java is a popular programming language. Java is widely used in web development.";

        int position = -1;


        while ((position = str.indexOf('a', position + 1)) != -1) {
            System.out.println("Found 'a' at position: " + position);
        }

        while ((position = str.indexOf("Java", position + 1)) != -1) {
            System.out.println("Found 'Java' at position: " + position);
        }
    }
}

תְפוּקָה

נמצא 'a' בעמדה: 1 נמצא 'a' בעמדה: 3 נמצא 'a' בעמדה: 8 נמצא 'a' בעמדה: 15 נמצא 'a' בעמדה: 23 נמצא 'a' בעמדה: 31 נמצא ' a' בעמדה: 35 נמצא 'a' בעמדה: 41 נמצא 'a' בעמדה: 43 נמצא 'Java' בעמדה: 0 נמצא 'Java' בעמדה: 40
בקוד שלמעלה, תחילה הכרזנו על מחרוזת "Java היא שפת תכנות פופולרית. Java נמצא בשימוש נרחב בפיתוח אתרים" ולאחר מכן השתמשנו בשיטת indexOf() כדי למצוא את כל המופעים של התו 'a' או המחרוזת המשנה "Java" במחרוזת. השתמשנו בלולאת while כדי לחזור על כל המופעים של התו או המחרוזת המשנה עד ששיטת indexOf() מחזירה -1, מה שמציין שאין יותר מופעים של התו או המחרוזת המשנה במחרוזת.

סיכום

לסיכום, שיטת indexOf() ב-Java היא כלי רב עוצמה למצוא את המיקום של תו או מחרוזת משנה בתוך מחרוזת. על ידי שימוש בווריאציות השונות של השיטה, נוכל למצוא בקלות את המיקום של תו או מחרוזת משנה במחרוזת, החל מאינדקס נתון או למצוא את כל המופעים של תו או מחרוזת משנה. זוהי שיטה חיונית לכל מפתח ג'אווה שעובד עם מחרוזות ביישומים שלו.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION