1. JAVA


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

import org.apache.commons.lang.StringUtils;


public class t0410_sharp_val_2008 {


  public static void main(String[] args){

    String mun
    = "시작\n"
    + "<TITLE>##제목</TITLE>\n"
    + "<SUBTITLE>#부제목</SUBTITLE>\n"
    + "<DATE>2017-04-10</DATE>\n"
    + "<CONTENT> ###fds$$$$$dfdsf####</CONTENT>\n"
    + "<NAME>이름</NAME>\n"
    + "끝!!\n";


    System.out.println("- 원문 : \n" + mun);
  
    Pattern p = Pattern.compile("(#|$)+");
    Matcher m = p.matcher(mun);

 

    // m.reset();
  
    StringBuffer repStr = new StringBuffer();

    while(m.find()) {
      String gr = ""; 

      /*
      for( int j = 0; j < m.group().length();j++){
        gr += " _#^ ";

      }

      // gr = "_#^" + m.group().length() + " ";

      */

      
      for(String repKey : m.group().split("")){

        gr = repKey.equals("#") ? " _#^ " : " _@@^ ";  
        // System.out.print(repKey);
        // gr += " _#^ ";
      }
      // System.out.println("");


      m.appendReplacement(repStr, gr);
    }
    m.appendTail(repStr);
    mun = repStr.toString();

    System.out.println("- 1차 변경 : \n" + mun);
  
    String first[] = {" _#^ ", " _@@^ "};
    String second[] = {"#", "$"};
    mun = StringUtils.replaceEach(mun, first, second);
    System.out.println("- 2차 변경 : \n" + mun);

  }

}



2. RUN


- 원문 :
시작
<TITLE>##제목</TITLE>
<SUBTITLE>#부제목</SUBTITLE>
<DATE>2017-04-10</DATE>
<CONTENT> ###fds$$$$$dfdsf####</CONTENT>
<NAME>이름</NAME>
끝!!


- 1차 변경 :
시작
<TITLE> _#^  _#^ 제목</TITLE>
<SUBTITLE> _#^ 부제목</SUBTITLE>
<DATE>2017-04-10</DATE>
<CONTENT>  _#^  _#^  _#^ fds _@@^  _@@^  _@@^  _@@^  _@@^ dfdsf _#^  _#^  _#^  _#^ </CONTENT>
<NAME>이름</NAME>
끝!!


- 2차 변경 :
시작
<TITLE>##제목</TITLE>
<SUBTITLE>#부제목</SUBTITLE>
<DATE>2017-04-10</DATE>
<CONTENT> ###fds$$$$$dfdsf####</CONTENT>
<NAME>이름</NAME>
끝!!



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

간단한 문자열 검색  (0) 2017.04.18
간단한 가변인자 활용법.  (0) 2017.03.31
연봉/퇴직금 계산  (0) 2017.03.20