본문 바로가기

Java

Matcher를 이용해 문자열 검색, 치환 하기


문자열 에서 특정 패턴을 검색하려고 할 때는 java.util.regex.Matcher를 사용한다.

Matcher를 사용하기 위해서는 우선 정규식을 이용한 java.util.regex.Pattern을 먼저 생성하고 고 해당 Pattern 으로 부터 Matcher를 생성한다.


우선 예제를 살펴 보자


import java.util.regex.Pattern;
import java.util.regex.Matcher;

	public static void main(String[] args){
		String str = "I love Java 7!!";
		
		Pattern pattern = Pattern.compile("I love .*[0-9]!");
		Matcher matcher = pattern.matcher(str);

		System.out.println(matcher.matches());
//		false

		System.out.println(matcher.lookingAt());
//		true
		
		System.out.println(matcher.replaceAll("6"));
//		6!
	}


"I love .*[0-9]!" 라는 정규식으로 pattern을 만들었고 그 pattern으로 matcher를 만들었다.


matches() 함수를 이용해서 전체 문자 열이 패턴의 문자열과 동일한지를 비교하고


lookingAt() 함수를 이용해서 문자열에 패턴의 문자열이 포함되어 있는지를 확인 했다.


replaceAll() 함수를 통해서는 패턴 문자열을 원하는 문자열("6")으로 치환 하기도 했다.




정규식에 대한 설명은 

http://lng1982.tistory.com/141

http://www.vogella.com/tutorials/JavaRegularExpressions/article.html

참고


'Java' 카테고리의 다른 글

for each 문에 대하여  (0) 2014.03.04
다이아몬드 연산자 (Diamond operator, JAVA 7 부터 추가)  (0) 2014.02.26
Java 날짜 연산  (0) 2014.02.25
사장된 기능 표시하기  (0) 2014.02.25
Javadoc 사용하기  (0) 2014.02.25