반응형
자바에서 문자열(String)을 조작할 때 유용한 메소드 중 하나가 indexOf()와 substring()이다. 이 두 메소드를 사용하면 문자열에서 특정 문자의 위치를 찾거나, 원하는 부분만 잘라낼 수 있다.
예를 들어 이메일을 받으면 indexOf()를 이용하여 @위치를 찾아내고 subString을 이용하여 ID와 도메인을 분리할 수 있다.
이번 글에서는 indexOf()와 substring()의 동작 원리와 사용법을 예제를 통해 알아보자.
▷ indexOf() 메소드
indexOf() 메소드는 특정 문자나 문자열이 처음 등장하는 인덱스를 반환한다.
(만약 찾는 문자열이 존재하지 않으면 -1을 반환한다.)
또한 indexOf(String s, int fromIndex)을 사용하면 특정 위치(fromIndex) 이후부터 검색이 가능하다.
int index = 문자열.indexOf(찾을문자또는문자열);
public class IndexOfExample {
public static void main(String[] args) {
String str = "Hello, Java Programming!";
int index1 = str.indexOf("Java");
int index2 = str.indexOf('P');
int index3 = str.indexOf("Python"); // 없는 문자열
System.out.println("문자열: " + str);
System.out.println("'Java'의 시작 인덱스: " + index1);
System.out.println("'P'의 인덱스: " + index2);
System.out.println("'Python'의 인덱스: " + index3);
}
}
출력결과
문자열: Hello, Java Programming!
'Java'의 시작 인덱스: 7
'P'의 인덱스: 13
'Python'의 인덱스: -1
▷ substring() 메소드
substring() 메소드는 문자열에서 특정 부분을 잘라내 반환한다.
String 부분문자열 = 문자열.substring(시작인덱스);
String 부분문자열 = 문자열.substring(시작인덱스, 끝인덱스);
( 시작인덱스는 포함되고, 끝인덱스는 포함되지 않음.)
public class SubstringExample {
public static void main(String[] args) {
String str = "Hello, Java Programming!";
String part1 = str.substring(7); // 인덱스 7부터 끝까지
String part2 = str.substring(7, 11); // 인덱스 7부터 10까지
System.out.println("원본 문자열: " + str);
System.out.println("7번째 이후: " + part1);
System.out.println("7번째부터 11번째 전까지: " + part2);
}
}
원본 문자열: Hello, Java Programming!
7번째 이후: Java Programming!
7번째부터 11번째 전까지: Java
indexOf()와 substring() 메소드의 활용
두 메소드를 조합하면 특정 패턴을 찾고 그에 따라 문자열을 추출할 수 있다.
ex) 파일 이름과 확장자 추출
public class FileNameExtractor {
public static void main(String[] args) {
String filePath = "C:/Users/John/Desktop/file.txt";
int lastSlashIndex = filePath.lastIndexOf("/"); // 마지막 '/' 위치
int dotIndex = filePath.lastIndexOf("."); // 마지막 '.' 위치
String fileName = filePath.substring(lastSlashIndex + 1, dotIndex); // 파일 이름
String fileExtension = filePath.substring(dotIndex + 1); // 확장자
System.out.println("파일 경로: " + filePath);
System.out.println("파일 이름: " + fileName);
System.out.println("파일 확장자: " + fileExtension);
}
}
출력결과
파일 경로: C:/Users/John/Desktop/file.txt
파일 이름: file
파일 확장자: txt
이 indexOf()와 substring() 두 메소드는 문자열 조작 작업에서 매우 자주 사용되며, 다양한 상황에서 유용하게 쓰일 수 있다.
궁금한 점이나 추가적인 활용 예제가 있다면 댓글로 알려주세요! 😊
반응형
'언어 공부하기 > JAVA 개념' 카테고리의 다른 글
[Java 자바] Random 클래스 완벽 가이드 : 기본 개념부터 예제까지 (자바 Random) (0) | 2024.11.21 |
---|---|
[Java 자바] ValueOf(), toString() 메소드 사용법 및 예제 알아보기(자바 함수) (0) | 2024.11.18 |
[Java 자바] length(), charAt() 메소드에 대하여 빠르게 알아보기(자바 함수) (1) | 2024.11.13 |
[Java 자바] 인터페이스(Interface)에 빠르고 쉽게 알아보기 : 기본 개념부터 코드까지 (자바 인터페이스) (0) | 2024.08.26 |
[Java 자바] 추상 클래스(abstract class)에 빠르고 쉽게 알아보기 : 기본 개념부터 코드까지 (자바 추상 클래스) (0) | 2024.08.12 |