문자열 앞에 붙은 불필요한 0(제로)을 제거하고 싶을 때, Apache Commons Lang 라이브러리의 StringUtils.stripStart() 메서드를 사용하면 간단하게 처리할 수 있습니다.
stripStart() 메서드란?
org.apache.commons.lang3.StringUtils 클래스의 stripStart() 메서드는 두 개의 문자열을 인자로 받습니다. 첫 번째 인자로 전달된 문자열에서, 두 번째 인자로 지정한 문자 집합에 해당하는 문자들을 문자열 시작 부분부터 제거합니다. 이를 활용하면 선행 0을 손쉽게 없앨 수 있습니다.
사용 방법
Apache Commons 라이브러리를 사용해 문자열에서 선행 0을 제거하려면 다음 단계를 따르세요.
1. 의존성 추가
먼저 Maven 프로젝트라면 pom.xml 파일에 아래 의존성을 추가합니다.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>2. stripStart() 메서드 호출
- 처리할 문자열을 준비합니다.
- stripStart() 메서드의 첫 번째 매개변수에는 해당 문자열을, 두 번째 매개변수에는 제거할 문자인 "0"을 전달합니다.
예제 코드
다음 Java 프로그램은 사용자로부터 문자열을 입력받은 후, StringUtils 클래스의 stripStart() 메서드를 이용해 선행 0을 제거하고 결과를 출력합니다.
import java.util.Scanner;
import org.apache.commons.lang3.StringUtils;
public class LeadingZeroesCommons {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("문자열을 입력하세요: ");
String str = sc.nextLine();
String result = StringUtils.stripStart(str, "0");
System.out.println(result);
}
}실행 결과
문자열을 입력하세요: 000Hello how are you Hello how are you
위 실행 결과에서 볼 수 있듯이, 입력 문자열 앞에 있던 세 개의 0이 모두 제거되고 나머지 내용만 그대로 출력됩니다. 참고로 stripStart()는 문자열 중간이나 끝에 있는 0은 건드리지 않고 오직 앞부분에 연속된 0만 제거한다는 점을 기억하세요.