자바 문자열에서 특정 문자의 위치를 찾는 방법을 알아보자 !!
Contents
문자열에서 특정 문자열의 첫 번째 위치 찾기 - indexOf
문자열에서 특정 문자열의 마지막 위치 찾기 - lastIndexOf
1. 문자열에서 특정 문자열의 첫 번째 위치 찾기 - indexOf
indexOf 메서드는 인수로 주어진 문자열이 처음 나오는 곳의 인덱스 값을 반환한다.
int indexOf(String str)
- 반환 값 : str이 처음 나오는 곳의 인덱스 값
- 만약 문자열이 존재하지 않을 경우 -1을 반환한다.
다음과 같이 시작 위치도 지정 가능하다.
int indexOf(String str, int fromIndex)
fromIndex를 지정하면 해당 인덱스의 위치부터 검색을 시작한다.
- 예제 코드
public class Main {
public static void main(String[] args) {
String str = "Java Programming";
// 특정 문자열의 첫 번째 위치 찾기
System.out.println(str.indexOf("a")); // 1 (첫 번째 'a'의 위치)
System.out.println(str.indexOf("Programming")); // 5
// 검색 시작 위치 지정
System.out.println(str.indexOf("a", 2)); // 3 (2번 인덱스 이후 첫 번째 'a')
// 없는 문자열 검색
System.out.println(str.indexOf("Python")); // -1
}
}
2. 문자열에서 특정 문자열의 마지막 위치 찾기 - lastIndexOf
lastIndexOf 메서드는 인수로 주어진 문자열이 마지막으로 나오는 곳의 인덱스 값을 반환한다.
int lastIndexOf(String str)
- 반환 값 : str이 마지막으로 나오는 곳의 인덱스 값
- 만약 문자열이 존재하지 않을 경우 -1을 반환한다.
indexOf와 마찬가지로 검색 시작 위치를 지정할 수 있다. 이때 지정한 위치부터 역방향으로 검색한다는 것에 유의해야 한다.
int lastIndexOf(String str, int fromIndex)
- 예제 코드
public class Main {
public static void main(String[] args) {
String str = "Java Programming";
// 특정 문자열의 마지막 위치 찾기
System.out.println(str.lastIndexOf("a")); // 10 (마지막 'a'의 위치)
System.out.println(str.lastIndexOf("Java")); // 0
// 검색 시작 위치 지정
// (12번 인덱스(m)부터 역방향으로 찾기 -> 0번부터 12번 인덱스 사이에서 마지막 a는 10번 인덱스에 있다.
System.out.println(str.lastIndexOf("a", 12)); // 10
// 없는 문자열 검색
System.out.println(str.lastIndexOf("Python")); // -1
}
}
'Programming > JAVA' 카테고리의 다른 글
[Java] 문자열 대/소문자 변환하기 - toLowerCase, toUpperCase (1) | 2025.01.25 |
---|---|
[Java] 문자열 자르기 - substring 사용법 (0) | 2025.01.25 |
[Java] 문자열의 시작과 끝 검사하기 - startsWith, endsWith (1) | 2025.01.24 |
[Java] 문자열 비교하기 (==, equals, compareTo) (2) | 2025.01.22 |
[Java] 문자열에서 특정 문자 바꾸기 (0) | 2025.01.22 |