Study/java

[Java] String - startsWith, endsWith : 특정 문자열로 시작하거나 끝나는지 확인

 

String startsWith endsWith란?

자바 String 클래스의 startsWith와 endsWith 메소드는 문자열이 특정 문자열로 시작하거나 끝나는지 판별합니다.

특정 문자로 시작하거나 끝나면 true, 그렇지 않으면 false를 반환합니다.

 

 

startsWith 메서드 사용법

startsWith(String prefix): 문자열이 지정된 접두사로 시작하는지 확인합니다.

startsWith(String prefix, int toffset): 문자열의 특정 위치부터 시작하여 지정된 접두사로 시작하는지 확인합니다.

 

 

startsWith 예제

아래와 같은 코드로 사용합니다.

String s = "apple banana";
System.out.println(s.startsWith("app"));
System.out.println(s.startsWith("app", 3));
System.out.println(s.startsWith("app", 0));

startsWith 사용결과
startsWith 사용결과

첫 번째 예제는 문자열 s가 "app"으로 시작하는지 확인합니다.

두 번째 예제는 toffset을 3으로 설정하여 문자열의 세 번째 인덱스부터 "app"으로 시작하는지 확인합니다.

세 번째 예제는 문자열의 시작부터 "app"으로 시작하는지 확인합니다.

 

 

주의사항

toffset이 음수이거나 문자열의 길이보다 크면 false를 반환합니다.

 

 

 

 

endsWith 메서드 사용법

endsWith(String suffix): 문자열이 지정된 접미사로 끝나는지 확인합니다.

 

 

endsWith 예제

다음과 같이 사용합니다.

String s = "apple banana";
System.out.println(s.endsWith("ana")); // true
System.out.println(s.endsWith("ban")); // false

endsWith 사용결과
endsWith 사용결과

 

첫 번째 예제는 문자열 s가 "ana"로 끝나는지 확인합니다.

두 번째 예제는 문자열 s가 "ban"으로 끝나는지 확인합니다.

 

 

endsWith 메서드의 내부 구현

endsWith 메서드는 내부적으로 startsWith 메서드를 사용하여 구현됩니다.

구체적으로는 문자열의 끝 부분이 주어진 접미사와 일치하는지 확인하기 위해, 문자열의 길이에서 접미사의 길이를 뺀 인덱스부터 시작하여 비교합니다.

// endWith 내부 구현 코드
public boolean endsWith(String suffix) {
	return startsWith(suffix, value.length - suffix.value.length);
}

 

 

예제 설명

String s = "apple banana";
System.out.println(s.endsWith("ana")); // true

 

위 예제에서, "apple banana" 문자열의 길이는 12입니다.

그리고 "ana" 접미사의 길이는 3입니다.

따라서, 12 - 3 = 9 인덱스부터 비교를 시작합니다.

"apple banana"의 9번째 인덱스부터 끝까지는 "ana"이므로 endsWith("ana")는 true를 반환합니다.

 

 

 

읽으면 좋은 글

[Java] String - contains : 문자열 포함 여부

 

[Java] String - contains : 문자열 포함 여부

contains 메서드는 문자열에 특정 문자가 포함되어 있는지 여부를 판별합니다. contains(CharSequence s) contains는 문자열을 다룰 때 많이 사용하는 메서드입니다. 매개변수로는 CharSequence를 받는데, String

priming.tistory.com