안녕하세요! 오늘은 자바의 replaceAll() 메소드와 정규식(regular expression)을 함께 이용해 문자열을 변경하는 방법에 대해 알아보겠습니다. replaceAll()과 정규식은 문자열을 다룰 때 매우 유용하므로 반드시 알아두셔야 합니다. 상세한 예제 코드와 설명을 통해 쉽게 이해하실 수 있도록 준비했습니다. 함께 시작해볼까요?
기본적인 replaceAll() 사용법
먼저, replaceAll() 메소드는 문자열에서 특정 패턴의 문자열을 찾아서 다른 문자열로 변경해주는 메소드입니다. 이 메소드는 첫 번째 인자로 찾을 패턴을, 두 번째 인자로 대체할 문자열을 받습니다.
String str = "Hello, world!";
str = str.replaceAll("world", "Java");
System.out.println(str); // 출력: Hello, Java!
위의 예제에서는 "Hello, world!"라는 문자열에서 "world"를 "Java"로 바꾸었습니다.
정규식과 함께 replaceAll() 사용하기
replaceAll() 메소드는 첫 번째 인자로 정규식을 사용할 수 있습니다. 정규식이란 특정한 규칙을 가진 문자열을 표현하는 수식입니다. 아래의 예제는 숫자로만 이루어진 문자열을 찾아 "*"로 변경하는 코드입니다.
String str = "Hello, I am 25 years old and I have 2 cats.";
str = str.replaceAll("\\d+", "*");
System.out.println(str); // 출력: Hello, I am * years old and I have * cats.
위의 예제에서 "\d+"는 하나 이상의 숫자를 의미하는 정규식입니다. 따라서 이 코드는 "25"와 "2"를 "*"로 변경하였습니다.
여러 가지 정규식 패턴 사용하기
정규식은 다양한 패턴을 표현할 수 있습니다. 이를 통해 여러 가지 복잡한 문자열 처리 작업을 쉽게 할 수 있습니다. 아래는 대문자로만 이루어진 단어를 찾아 "JAVA"로 변경하는 예제입니다.
String str = "Hello, JAVA_WORLD!";
str = str.replaceAll("[A-Z_]+", "JAVA");
System.out.println(str); // 출력: Hello, JAVA!
위의 예제에서 "[A-Z_]+"는 대문자 또는 언더스코어로 이루어진 하나 이상의 문자를 의미하는 정규식입니다. 따라서 이 코드는 "JAVA_WORLD"를 "JAVA"로 변경하였습니다.
마무리
이번 글에서는 자바의 replaceAll() 메소드와 정규식을 사용해 문자열을 변경하는 방법에 대해 알아보았습니다. 이를 통해 문자열에서 원하는 패턴의 문자를 쉽게 찾아 변경할 수 있습니다.
replaceAll()과 정규식은 문자열 처리에서 매우 유용하므로 꼭 알아두시기 바랍니다. 이해가 잘 안 되거나 추가적인 질문이 있으시다면 언제든지 댓글로 남겨주세요. 다음 글에서 뵙겠습니다. 감사합니다!
참고 자료
Java String replaceAll() method with method signature:
https://www.javatpoint.com/java-string-replaceall
Regular Expressions in Java
댓글