언어 공부하기/JAVA 개념
[Java 자바] indexOf()와 substring() 메소드 사용법 및 예제 알아보기(자바 함수)
망댕이
2024. 11. 13. 11:40
반응형
자바에서 문자열(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() 두 메소드는 문자열 조작 작업에서 매우 자주 사용되며, 다양한 상황에서 유용하게 쓰일 수 있다.
궁금한 점이나 추가적인 활용 예제가 있다면 댓글로 알려주세요! 😊
반응형