반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- Eclipse
- windows
- 이탈리아
- Button
- 이클립스
- 자바
- ArrayList
- 배열
- js
- javascript
- 테이블
- list
- 인텔리제이
- table
- CSS
- string
- json
- 자바스크립트
- vscode
- Array
- Maven
- date
- IntelliJ
- CMD
- Java
- 문자열
- input
- 정규식
- html
- Visual Studio Code
Archives
- Today
- Total
어제 오늘 내일
[Java String] String.lastIndexOf() – 문자열 뒤에서 검색하기 본문
indexOf()
는 문자열의 앞에서부터 검색하지만, 경우에 따라서는 뒤에서부터 찾는 것이 더 편리할 때가 있습니다.
이럴 때는 lastIndexOf()
를 사용합니다.
1. 기본 사용법
public int lastIndexOf(int ch)
public int lastIndexOf(int ch, int fromIndex)
public int lastIndexOf(String str)
public int lastIndexOf(String str, int fromIndex)
ch
: 찾을 문자(유니코드 값)str
: 찾을 문자열fromIndex
: 검색 시작 위치(이 인덱스부터 거꾸로 탐색)- 찾지 못하면
-1
반환
String text = "Hello Java Java";
System.out.println(text.lastIndexOf("Java")); // 11
System.out.println(text.lastIndexOf("o")); // 4
👉 "Java"
가 두 번 있지만, 뒤에서 검색했기 때문에 마지막 위치(11)를 반환합니다.
2. 특정 위치 기준으로 검색하기
fromIndex
를 주면, 그 인덱스부터 거꾸로 탐색을 시작합니다.
String text = "banana";
System.out.println(text.lastIndexOf("a")); // 5
System.out.println(text.lastIndexOf("a", 4)); // 3
System.out.println(text.lastIndexOf("a", 2)); // 1
👉 "banana"
에서 "a"
는 여러 번 등장하지만, 뒤에서부터 위치를 좁혀갈 수 있습니다.
3. 실용적인 활용 예제
파일명과 확장자 분리
String file = "archive.backup.zip";
int dotIndex = file.lastIndexOf(".");
String ext = file.substring(dotIndex + 1);
System.out.println(ext);
// zip
👉 확장자가 여러 개 있더라도 마지막 점(.
) 위치를 기준으로 정확히 추출할 수 있습니다.
경로에서 파일명 추출
String path = "C:/Users/John/Documents/report.pdf";
int slashIndex = path.lastIndexOf("/");
String fileName = path.substring(slashIndex + 1);
System.out.println(fileName);
// report.pdf
👉 파일 경로나 URL에서 마지막 구분자 이후 문자열을 뽑을 때 매우 자주 쓰입니다.
4. indexOf vs lastIndexOf 차이
String text = "abracadabra";
System.out.println(text.indexOf("a")); // 0
System.out.println(text.lastIndexOf("a")); // 10
indexOf()
→ 앞에서부터 검색 → 첫 번째 등장 위치lastIndexOf()
→ 뒤에서부터 검색 → 마지막 등장 위치
👉 서로 보완적인 관계로, 상황에 따라 적절히 선택하면 됩니다.
5. 정리
lastIndexOf()
는 문자열을 뒤에서부터 검색- 찾는 값이 없으면
-1
반환 - 확장자 추출, 파일 경로 처리 등 실무에서 유용
indexOf()
와 쌍으로 알아두면 문자열 처리에 강력
👉 문자열 뒤에서 검색이 필요하다면 String.lastIndexOf()
가 해답이다!
반응형
'IT > Java' 카테고리의 다른 글
[Java String] String.trim() – 문자열 앞뒤 공백 제거하기 (0) | 2025.09.15 |
---|---|
[Java String] String.format() – 문자열 포맷팅 깔끔하게 (0) | 2025.09.14 |
[Java] Collections.unmodifiableMap() – 읽기 전용 맵 만들기 (0) | 2025.09.14 |
[Java] Collections.unmodifiableSet() – 읽기 전용 집합 만들기 (0) | 2025.09.13 |
[Java] Collections.unmodifiableList() – 읽기 전용 리스트 만들기 (0) | 2025.09.13 |
Comments