반응형
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
- replace
- HashMap
- js
- 인텔리제이
- string
- ArrayList
- CMD
- Java
- 배열
- json
- CSS
- list
- javascript
- 정규식
- 자바
- IntelliJ
- date
- input
- 문자열
- 이탈리아
- vscode
- Array
- 이클립스
- html
- map
- Eclipse
- Visual Studio Code
- 자바스크립트
- Button
- table
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.isEmpty() – 문자열이 비어있는지 확인하기 (0) | 2025.09.16 |
|---|---|
| [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 |
Comments