어제 오늘 내일

[Java String] startsWith(), endsWith() – 문자열 시작과 끝 검사하기 본문

IT/Java

[Java String] startsWith(), endsWith() – 문자열 시작과 끝 검사하기

hi.anna 2025. 9. 17. 12:38

문자열이 특정 패턴으로 시작하거나 끝나는지 확인하고 싶을 때
자바에서는 startsWith()endsWith() 메서드를 사용합니다.
파일 확장자 체크, URL 패턴 매칭 등 실무에서 굉장히 자주 활용됩니다.

 

1. startsWith()

public boolean startsWith(String prefix)
public boolean startsWith(String prefix, int offset)
  • 문자열이 prefix로 시작하면 true
  • 두 번째 오버로드는 offset부터 검사 시작
String str = "Java Programming";

System.out.println(str.startsWith("Java"));   // true
System.out.println(str.startsWith("Pro"));    // false
System.out.println(str.startsWith("Pro", 5)); // true (5번째 인덱스부터 검사)

👉 "Java Programming""Java"로 시작하므로 true,
5번째 인덱스("Programming")는 "Pro"로 시작하므로 true.

 

2. endsWith()

public boolean endsWith(String suffix)
  • 문자열이 suffix로 끝나면 true
String file1 = "report.pdf";
String file2 = "image.png";

System.out.println(file1.endsWith(".pdf")); // true
System.out.println(file2.endsWith(".pdf")); // false

👉 파일 확장자 검사에 자주 활용됩니다.

 

3. 실전 활용 예제

이메일 주소 검증

String email = "user@example.com";

if (email.endsWith(".com")) {
    System.out.println("올바른 이메일 도메인");
}

URL 접두사 확인

String url = "https://example.com";

if (url.startsWith("https://")) {
    System.out.println("보안 연결 URL");
}

👉 보안 체크, 특정 도메인 제한 등에 사용 가능.

 

4. 주의할 점

  • 대소문자를 구분합니다.
String text = "HelloWorld";
System.out.println(text.startsWith("hello")); // false

👉 대소문자 무시 검사를 원한다면 toLowerCase()toUpperCase()와 함께 써야 합니다.

System.out.println(text.toLowerCase().startsWith("hello")); // true

 

5. 정리

  • startsWith() → 문자열 시작 부분 검사
  • endsWith() → 문자열 끝 부분 검사
  • 대소문자 구분 (무시하려면 소문자/대문자 변환)
  • 파일 확장자, URL, 사용자 입력 검증 등 실무 활용도 높음

👉 문자열 시작/끝을 검사할 때는 startsWith()endsWith()가 가장 직관적이고 안전하다!

 

 

반응형
Comments