جستجو در رشته

جستجو و یافتن متن در رشته‌ها: indexOf، contains، startsWith و split.

جستجو در رشته‌ها

indexOf — پیدا کردن موقعیت

String s = "Hello Java, Hello World";

System.out.println(s.indexOf("Hello"));    ← 0 (اولین)
System.out.println(s.indexOf("Hello", 1)); ← 12 (جستجو از ایندکس ۱)
System.out.println(s.lastIndexOf("Hello")); ← 12 (آخرین)
System.out.println(s.indexOf("xyz"));      ← -1 (پیدا نشد)

contains — آیا شامل است؟

String email = "ali@example.com";

System.out.println(email.contains("@"));      ← true
System.out.println(email.contains(".com"));   ← true
System.out.println(email.contains(".net"));   ← false

startsWith و endsWith

String filename = "photo.jpg";

System.out.println(filename.startsWith("photo"));  ← true
System.out.println(filename.endsWith(".jpg"));     ← true
System.out.println(filename.endsWith(".png"));     ← false

split — تقسیم رشته

String csv = "علی,25,تهران";
String[] parts = csv.split(",");

System.out.println(parts[0]);   ← علی
System.out.println(parts[1]);   ← ۲۵
System.out.println(parts[2]);   ← تهران

// تقسیم با فاصله
String[] words = "سلام دنیا جاوا".split(" ");
System.out.println(words.length);   ← 3

مثال عملی: اعتبارسنجی ایمیل ساده

String email = "user@site.com";

boolean valid = email.contains("@")
             && email.endsWith(".com")
             && email.indexOf("@") > 0;

System.out.println("ایمیل معتبر: " + valid);   ← true

مثال: شمارش تکرار کاراکتر

String s = "banana";
char target = \a\;
int count = 0;

for (int i = 0; i < s.length(); i++) {
    if (s.charAt(i) == target) {
        count++;
    }
}
System.out.println("تعداد a: " + count);   ← 3

جدول جمع‌بندی

متدخروجیکاربرد
indexOf(x)intموقعیت اولین تکرار (-1 اگر نبود)
lastIndexOf(x)intموقعیت آخرین تکرار
contains(x)booleanآیا شامل است؟
startsWith(x)booleanشروع می‌شود با؟
endsWith(x)booleanتمام می‌شود با؟
split(sep)String[]تقسیم به آرایه

این مبحث بخشی از دوره آموزش کامل جاوا است.

ابزارهای مرتبط