جستجو در رشته
جستجو و یافتن متن در رشتهها: 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[] | تقسیم به آرایه |
این مبحث بخشی از دوره آموزش کامل جاوا است.