본문 바로가기

자바

replaceAll의 알고리즘

예제)


import java.util.regex.Matcher;

import java.util.regex.Pattern;


public class Test6 {

//String 클래스의 replaceAll()과 유사한 기능을 하는 메소드 => replaceAll()은 1.5JDK부터 잇음. 1.4이하는 메소드를 직접만들어야함.

/**

* @param str // 원래문자열

* @param olds // 바꿀문자열

* @param news // 새로운문자열

* @return // 변경된 문자열을 리턴

*/

public static String replaceAll(String str, String olds, String news) {

StringBuffer sb=new StringBuffer();

Pattern p=Pattern.compile(olds);

Matcher m=p.matcher(str);

while(m.find()){ //존재하는 것이 있으면

m.appendReplacement(sb, news);

}

m.appendTail(sb); //마지막에 있는 데이터를 입력하라. => 대한독립만세 단어의 끝에 대한이 없으므로 이문장이 없으면 출력안댐.

return sb.toString();

}

public static void main(String[] args) {

String s="우리나라 대한민국 대한 만세 대한독립만세";

String ss=replaceAll(s, "대한", "大韓");

System.out.println(ss);

}

}


결과)


우리나라 大韓민국 大韓 만세 大韓독립만세


'자바' 카테고리의 다른 글

재미있는 예제  (0) 2013.05.28
checked Exception  (0) 2013.05.28
unchecked exception  (0) 2013.05.28
class 클래스  (0) 2013.05.25
자바 패턴매칭  (0) 2013.05.24