코딩/Java
자바 - 문자열에서 특정 문자/문자열 찾기 (indexOf() 메소드)
Junoni
2024. 11. 17. 16:17
반응형
문자열의 indexOf() 메소드는 문자열에서 찾으려는 문자/문자열의 인덱스를 반환한다.
특징 1 - indexOf() 메소드의 반환 값의 의미
public class IndexOfExample {
public static void main(String[] args) {
String str = "hello world";
System.out.println(str.indexOf("lo")); // 3
}
}
str이라는 변수의 "hello world" 값에서 "lo"라는 문자열은 인덱스 3에 위치하기 때문에 3을 반환.
특징 2 - 문자열에서 찾으려는 문자/문자열이 존재하지 않을 경우
public class IndexOfExample {
public static void main(String[] args) {
String str = "hello world";
System.out.println(str.indexOf("abc")); // -1
}
}
"abc"라는 문자열은 "hello world"라는 문자열에 존재하지 않기 때문에, -1을 반환.
특징 3 - 검색 방향은 왼쪽에서 오른쪽으로
public class IndexOfExample {
public static void main(String[] args) {
String str = "hello world";
System.out.println(str.indexOf("l")); // 2
}
}
타겟 문자열의 왼쪽부터 찾으려는 문자/문자열을 검색을 한다.
왼쪽부터 검색 시, 가장 먼저 찾은 "l"이라는 값의 인덱스는 2이기 때문에, 2를 반환.
특징 4 - 문자 혹은 유니코드 정숫값으로 특정 문자 찾기
public class IndexOfExample {
public static void main(String[] args) {
String str = "hello world";
System.out.println(str.indexOf('e')); // 1
System.out.println(str.indexOf(101)); // 1
}
}
문자 'e'는 타겟 문자열의 인덱스 1에 있어 1을 반환.
101라는 정숫값은 유니코드에서 문자 'e'를 의미하여 동일하게 1을 반환.
특징 5 - 특정 인덱스부터 문자/문자열 검색이 가능
public class IndexOfExample {
public static void main(String[] args) {
String str = "hello world";
System.out.println(str.indexOf("l", 3)); // 3
System.out.println(str.indexOf('l', 3)); // 3
}
}
indexOf() 메소드의 두 번째 인수로, 검색 시작 인덱스를 설정 가능.
예제에서 indexOf("l", 3)의 의미는 인덱스 3부터 "l"라는 문자열을 찾음을 의미 (검색 범위 -> hello world)
결과로 "l"을 인덱스 3에서 찾아서, 3을 반환.
반응형