Java 문자열에서 숫자 값 제거하기

JavaBeginner
지금 연습하기

소개

이 랩에서는 Java 에서 문자열 (String) 에서 숫자 값을 제거하는 방법을 배우게 됩니다. Java 의 문자열은 영숫자 문자 (alphanumeric characters) 와 특수 기호를 포함할 수 있습니다. 따라서 때로는 문자열을 필터링하여 알파벳만 얻는 것이 필요합니다. 이 랩에서는 두 개의 인수를 사용하는 replaceAll() 메서드를 사용합니다. 첫 번째 인수는 문자열을 필터링하기 위한 정규 표현식 (regular expression) 이고, 두 번째 인수는 대체 문자열 (replacement String) 입니다.

새로운 Java 파일 생성

~/project 디렉토리로 이동하여 다음 명령을 사용하여 새로운 Java 파일을 생성합니다.

touch RemoveNumericValues.java

main() 메서드 정의

텍스트 편집기에서 RemoveNumericValues.java 파일을 열고 다음과 같이 main() 메서드를 정의합니다.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);
    }
}

정규 표현식 (Regex) 을 사용하여 숫자 값 제거

이 단계에서는 정규 표현식 (Regex) 을 사용하여 문자열에서 숫자 값을 제거합니다.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[^A-Za-z]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

위 코드에서는 replaceAll() 메서드를 사용하여 문자열 str에서 알파벳을 제외한 모든 문자를 대체했습니다. 정규 표현식 [A-Za-z]는 A 부터 Z 까지, a 부터 z 까지의 모든 문자를 일치시킵니다.

정규 표현식 (Regex) 으로 숫자 제거

이 단계에서는 정규 표현식 (Regex) 을 사용하여 문자열에서 숫자를 제거합니다.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("\\d", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

위 코드에서는 replaceAll() 메서드를 사용하여 문자열 str에서 모든 숫자를 대체했습니다. 정규 표현식 \\d는 문자열에 있는 모든 숫자를 일치시킵니다.

정규 표현식 (Regex) 을 사용한 숫자 제거 (대체 방법)

이 단계에서는 다른 정규 표현식 (Regex) 을 사용하여 문자열에서 숫자를 제거합니다.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[0-9]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

위 코드에서는 replaceAll() 메서드를 사용하여 문자열 str에서 모든 숫자를 대체했습니다. 정규 표현식 [0-9]는 문자열에 있는 모든 숫자를 일치시킵니다.

코드 컴파일 및 실행

RemoveNumericValues.java 파일에 변경 사항을 저장하고, 터미널을 열어 프로젝트 디렉토리로 이동한 후 다음 명령을 입력하여 코드를 컴파일합니다.

javac RemoveNumericValues.java

코드가 성공적으로 컴파일된 후, 다음 명령을 입력하여 코드를 실행합니다.

java RemoveNumericValues

코드의 출력 결과가 터미널에 표시됩니다.

입력 문자열 수정

다양한 입력 문자열에 대해 코드를 테스트하기 위해 str 문자열을 원하는 값으로 수정합니다.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[^A-Za-z]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

대체 방법 테스트

이전 버전의 코드를 수정하여 다음과 같이 대체 방법을 테스트합니다.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("[0-9]", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

두 번째 방법 테스트

이전 버전의 코드를 수정하여 다음과 같이 두 번째 방법을 테스트합니다.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Original String: " + str);

        str = str.replaceAll("\\d", "");
        System.out.println("String with only Alphabets: " + str);
    }
}

요약

이 랩에서는 Java 에서 문자열 (String) 에서 숫자 값을 제거하는 방법을 배웠습니다. replaceAll() 메서드를 다양한 정규 표현식 (Regex) 과 함께 사용하여 문자열을 필터링하고 알파벳만 얻었습니다. 또한 다양한 입력 문자열로 코드를 테스트하는 방법도 배웠습니다.