본문 바로가기
개발/Java

[Java] Java에서 문자열 자르는 방법 substring() vs substr() 비교.

by 쓸있쏜 2023. 3. 13.

Java에서 String 클래스는 하위 문자열을 추출하기 위한 두 가지 방법인 substring()substr()을 제공합니다.

두 메서드 모두 원래 문자열의 일부를 포함하는 새 문자열을 반환하지만 구문과 동작에 약간의 차이가 있습니다.

 

substring() 메서드는 시작 문자열에서 문자를 추출합니다. 문자열의 끝 인덱스(배타적)에 대한 인덱스입니다.

시작 색인과 끝 색인의 두 가지 인수를 사용합니다. 시작 인덱스는 포괄적이고 종료 인덱스는 배타적입니다.

시작 인덱스가 끝 인덱스보다 크면 추출이 수행되기 전에 인수가 교체됩니다.

시작 또는 끝 색인이 음수이면 0으로 처리됩니다. 끝 색인이 문자열 길이보다 크면 문자열 길이로 고정됩니다.

 원래 문자열은 이 방법으로 수정되지 않습니다.

 

다음은 substring() 사용 예입니다.

String str = "Hello, world!";
String sub = str.substring(7, 12);
System.out.println(sub); // 출력: world

substr() 메서드는 substring()과 유사하지만 두 번째 인수는 끝 인덱스가 아니라 추출할 하위 문자열의 길이입니다.

시작 인덱스와 하위 문자열의 길이라는 두 가지 인수를 사용합니다.

시작 색인이 음수이면 문자열 길이에 시작 색인을 더한 것으로 처리됩니다.

길이 인수가 음수이면 0으로 처리됩니다. 시작 인덱스가 문자열의 길이보다 크면 빈 문자열이 반환됩니다.

 원래 문자열은 이 방법으로 수정되지 않습니다.

 

다음은 substr() 사용 예입니다.

 

String str = "Hello, world!";
String sub = str.substr(7, 5);
System.out.println(sub); // 출력: world

substr() 메서드는 더 이상 사용되지 않으므로 최신 JavaScript에서 사용하지 않는 것이 좋습니다.

substring()slice()를 선호합니다. Java에서 substr() 메서드는 더 이상 사용되지 않으며 계속 사용할 수 있지만 일반적으로 substring()을 대신 사용하는 것이 좋습니다. 다른 Java 문자열 메서드의 동작입니다.

 

정리해서 말하자면, substring()substr()은 Java의 문자열에서 하위 문자열을 추출하는 데 유용한 메서드입니다.

substring()은 시작 인덱스와 끝 인덱스를 기준으로 하위 문자열을 추출하고 substr()은 시작 인덱스와 길이를 기준으로 하위 문자열을 추출합니다.

substr()은 Java에서 계속 사용할 수 있지만 일반적으로 다른 문자열 메서드와의 일관성을 위해 substring()을 사용하는 것이 좋습니다.

댓글