CodeGym /وبلاگ جاوا /Random-FA /جاوا رشته indexOf()
John Squirrels
مرحله
San Francisco

جاوا رشته indexOf()

در گروه منتشر شد

Java String indexOf() چیست؟

به عنوان یک توسعه دهنده جاوا، حتماً با نیاز به یافتن موقعیت یک کاراکتر یا یک زیر رشته در یک رشته مواجه شده اید. جاوا یک متد داخلی به نام indexOf() در کلاس String ارائه می دهد تا به ما در انجام این کار کمک کند. متد indexOf() در جاوا بخشی از کلاس String است، یعنی کلاس Java String indexOf() که برای دستکاری رشته ها استفاده می شود. متد indexOf() در جاوا موقعیت اولین رخداد یک کاراکتر یا یک زیررشته را در یک رشته معین برمی گرداند. اگر کاراکتر یا زیر رشته پیدا نشد، متد -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()» استفاده کنیم، بپردازیم.

پیدا کردن موقعیت یک کاراکتر در رشته:

فرض کنید ما یک رشته "Hello, world!" . برای یافتن موقعیت کاراکتر '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
در کد بالا ابتدا یک رشته "Hello, world!" و سپس از متد 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 یافت شد
در کد بالا ابتدا یک رشته "Hello, world!" و سپس از متد indexOf() برای یافتن موقعیت کاراکتر 'o' در رشته استفاده کرد. متد indexOf() موقعیت اولین رخداد کاراکتر در رشته یا -1 را در صورت پیدا نشدن کاراکتر برمی گرداند. سپس از یک حلقه while برای ادامه جستجوی کاراکتر 'o' در رشته با فراخوانی indexOf() با کاراکتر و موقعیت شروع بعدی به عنوان آرگومان استفاده کردیم. این فرآیند را تا زمانی که indexOf() -1 را برگرداند، تکرار می‌کنیم که نشان می‌دهد دیگر هیچ کاراکتری در رشته وجود ندارد. در این مثال، متوجه شدیم که کاراکتر 'o' در موقعیت های 4 و 8 در رشته "Hello, world!" ظاهر می شود.

پیدا کردن موقعیت یک رشته فرعی در رشته

فرض کنید ما یک رشته داریم "جاوا یک زبان برنامه نویسی محبوب است" . برای یافتن موقعیت زیر رشته "برنامه نویسی" در رشته، می توانیم از کد زیر استفاده کنیم:
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
در کد بالا، ابتدا یک رشته را "جاوا یک زبان برنامه نویسی محبوب است" اعلام کردیم و سپس از متد indexOf() برای یافتن موقعیت زیر رشته "برنامه نویسی" در رشته استفاده کردیم. این روش موقعیت 18 را برگرداند، که موقعیت شروع رشته فرعی "برنامه نویسی" در رشته است.

یافتن تمام رخدادهای یک کاراکتر یا زیر رشته در رشته

فرض کنید ما یک رشته داریم "جاوا یک زبان برنامه نویسی محبوب است. جاوا به طور گسترده در توسعه وب استفاده می شود" . برای یافتن همه موارد تکرار کاراکتر "a" یا زیر رشته "جاوا" در رشته، می توانیم از کد زیر استفاده کنیم:
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 'جاوا' در موقعیت: 0 'جاوا' در موقعیت: 40 یافت شد
در کد بالا، ابتدا یک رشته را اعلام کردیم "جاوا یک زبان برنامه نویسی محبوب است. جاوا به طور گسترده ای در توسعه وب استفاده می شود" و سپس از متد indexOf() برای یافتن تمام رخدادهای کاراکتر 'a' یا زیر رشته "Java" استفاده کردیم. در رشته ما از یک حلقه while برای تکرار روی تمام رخدادهای کاراکتر یا زیررشته استفاده کردیم تا زمانی که متد indexOf() -1 را برگرداند، که نشان می‌دهد دیگر هیچ موردی از کاراکتر یا زیررشته در رشته وجود ندارد.

نتیجه

در نتیجه، متد indexOf() در جاوا یک ابزار قدرتمند برای یافتن موقعیت یک کاراکتر یا یک زیر رشته در یک رشته است. با استفاده از تغییرات مختلف روش، می‌توانیم به راحتی موقعیت یک کاراکتر یا زیررشته را در یک رشته، با شروع از یک شاخص داده شده یا یافتن همه رخدادهای یک کاراکتر یا زیر رشته، پیدا کنیم. این یک روش ضروری برای هر توسعه دهنده جاوا است که با رشته ها در برنامه های خود کار می کند.
نظرات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION