[Java] 문자열 왼쪽 0 제거, 3가지 방법
June 10, 2024
00012345
처럼 왼쪽이 0으로 채워진 문자열이 있을 때, 이 문자열을 제거하는 방법을 알아보겠습니다.
1. Integer.parseInt()를 이용한 방법
문자열이 숫자로만 되어있다면 Integer.parseInt(str)
로 str을 int 타입으로 변환할 수 있습니다.
int로 변환되면 왼쪽 0은 모두 제거되며, int를 다시 String으로 변환하면 왼쪽 0이 제거된 문자열을 얻을 수 있습니다.
Integer.toString(result)
: int를 String으로 변환
public class Example {
public static void main(String[] args) {
String input = "00012345";
// Integer로 변환하면서 0 제거
int result = Integer.parseInt(input);
// 문자열로 다시 변환
String resString = Integer.toString(result);
System.out.println("Result: " + resString);
}
}
Output:
Result: 12345
2. 정규표현식을 이용한 방법
정규표현식으로 왼쪽에 있는 연속적인 0을 찾아서 제거할 수 있습니다.
replaceFirst("^0+", "")
: 0으로 시작하는 연속적인 0 패턴 찾고, ""으로 변환하여 제거- replaceFirst는 문자열에 일치하는 패턴이 여러개라도 1개의 패턴만 다른 문자열로 변환함
"^0+"
패턴에서^
는 문자열 시작을 의미,+
는 앞의 패턴이 1개 이상
public class Example {
public static void main(String[] args) {
String input = "00012345";
// 정규표현식으로 왼쪽 0 제거 (연속된 0 모두 제거)
String result = input.replaceFirst("^0+", "");
System.out.println("Result: " + result);
}
}
Output:
Result: 12345
3. substring()을 이용한 방법
String.substring(index)
는 문자열의 index 위치에서 문자열 마지막까지 잘라서 리턴합니다.
아래 예제 처럼, 왼쪽 0이 끝나는 위치를 찾고, substring()을 이용하여 왼쪽 0을 모두 제거할 수 있습니다.
- while문으로 왼쪽 0이 끝나는 index 찾음
input.substring(index)
: index부터 마지막까지 잘라서 문자열 리턴
public class Example {
public static void main(String[] args) {
String input = "00012345";
// 0이 끝나는 위치 찾고, 0을 제외한 나머지 문자열만 잘라서 가져옴
int index = 0;
while (index < input.length() && input.charAt(index) == '0') {
index++;
}
String result = input.substring(index);
System.out.println("Result: " + result);
}
}
Output:
Result: 12345