JSP Tips

°æ·Â0³â
2006-08-07 13:06:29.0
Á¤±ÔÇ¥Çö½ÄÀ» ÀÌ¿ëÇÑ ¹®ÀÚ¿­ ġȯ

XML ÀÇ CDATA ó·³ ¹®ÀÚ¿­µéÀ» ƯÁ¤ ű׷Π°¨½Ò°æ¿ì

°¨½Î´Â ű׸¸ »èÁ¦ÄÚÀÚ ÇÒ·Á°í Çߴµ¥

replaceAll Àº ÁöÁ¤µÈ ¹®ÀÚ¿­ ¹Û¿¡ ¾ÈµÇ¼­ ¸¸µé¾î ºÃ´Âµ¥

´õ ±¦ÂúÀº ¹æ¹ýÀÌ ÀÖÀ»±î¿ä?

 

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

class ReplaceByRegExp
{
 public static void main( String[] args )
 {
  String text = "<![CDATA[   ]]>abcd<![CDATA[  ]]>dafasf";

  ReplaceByRegExp rbre = new ReplaceByRegExp();

  System.out.println( rbre.replaceAll( "<![CDATA[", "]]>", text ) );
 }

 /**
  * À¯´ÏÄÚµå ¸®ÅÏ
  *
  * @param text
  *            À¯´ÏÄÚµå·Î º¯È¯ÇÒ ¹®ÀÚ¿­
  * @return À¯´ÏÄÚµå
  */
 private String getUnicodeForRegExp( String text )
 {
  String temp = null;

  StringBuffer sb = new StringBuffer();

  for( int i = 0; i < text.length(); i++ )
  {
   temp = Integer.toHexString( (int) text.charAt( i ) ).toUpperCase();

   sb.append( "\\u" );

   if( temp.length() != 4 )
    sb.append( "00" ).append( temp );
   else
    sb.append( temp );
  }

  return sb.toString();
 }

 /**
  * ½ÃÀÛ ¹®ÀÚ¿­°ú Á¾·á ¹®ÀÚ¿­À» Á¦°ÅÇÏ°í ¾È¿¡ ³»¿ë¸¸À» º¸Á¸
  *
  * @param startText
  *            °Ë»ö ½ÃÀÛ ¹®ÀÚ¿­
  * @param endText
  *            °Ë»ö Á¾·á ¹®ÀÚ¿­
  * @param text
  *            °Ë»ö ´ë»ó ¹®ÀÚ¿­
  * @return ġȯµÈ ¹®ÀÚ¿­
  */
 public String replaceAll( String startText, String endText, String text )
 {

  // Á¤±Ô½Ä »ý¼º
  StringBuffer regExp = new StringBuffer();
  regExp.append( this.getUnicodeForRegExp( startText ) ).append( "(.*?)" )
    .append( this.getUnicodeForRegExp( endText ) );

  // Á¤±Ô½Ä ¼ÂÆÃ
  Pattern p = Pattern.compile( regExp.toString() );

  Matcher m = p.matcher( text );

  // °Ë»öµÈ ¹®ÀÚ¿­ ÀúÀå º¯¼ö
  String temp = null;

  StringBuffer sb = new StringBuffer();

  while( m.find() )
  {
   temp = m.group();

   m.appendReplacement( sb, temp.substring( startText.length(),
     temp.length() - endText.length() ).trim() );
  }

  m.appendTail( sb );

  return sb.toString();
 }
}

 

°á°ú :  &nbsp;&nbsp;&nbsp;abcd&nbsp;&nbsp;dafasf

 

Tag
tag´Â °Ô½Ã¹°ÀÇ ¼º°ÝÀ» ³ªÅ¸³»´Â Ű¿öµå¸¦ ÀÔ·ÂÇÏ´Â °ø°£ÀÔ´Ï´Ù.
tag´Â ·Î±×ÀÎ ÈÄ »ç¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
  • ½ÃÀÛ°ú Á¾·á¹®ÀÚ¿­À» Á¦°ÅÇÏ°í ¾È¿¡°Í¸¸ ³²±â´Â°Å¸é...

    String text = "<![CDATA[ 2 ]]>abcd<![CDATA[ 3 ]]>dafasf";
    System.out.println( text.replaceAll("<!\\[CDATA\\[(((?!\\]\\]>).)*)\\]\\]>","$1") );

    ÀÌ·± Á¤±Ô½ÄÀ¸·Î µÇÁö ¾ÊÀ»±î¿ä.
    ·çÅ·Æ÷¿öµå¸¦ »ç¿ëÇѰǵ¥... /* ~ */ ÁÖ¼®°°Àº°Å Áö¿ï¶§µµ ºñ½ÁÇѽÄÀ¸·Î ½è¾ú¾î¿ä.

    À§ °á°ú´Â : 2 abcd 3 dafasf
    ÀÌ·¸°Ô ³ª¿À´Â±º¿ä.

    ±×¸®±¸ ÁٳѱèÀÌ ÀÖÀ»¼öÀÖ´Â xml¹®¼­°°Àº °æ¿ì¿¡´Â java.util.regex.Pattern.compile("<!\\[CDATA\\[(((?!\\]\\]>).)*)\\]\\]>",Pattern.DOTALL) ÀÌ·¸°Ô DOTALL Ç÷¡±×·Î Á¤±Ô½Ä °´Ã¼ »ý¼ºÇؼ­ ÇÏ¸é µÇ°Ú±¸¿ä..
  • jo
  • 2006-08-08 15:30:49
  • x
  • ¾Æ µÎ¹øÂ°µµ ÀÎÀÚ À§Ä¡¿¡¼­µµ Á¤±Ô½ÄÀÌ ¸Ô´Â±º¿ä. $1 Çß´Ù°¡ ½ÇÆÐÇß´ø°Í °°Àºµ¥...
    °¨»çÇÕ´Ï´Ù. ^^
  • °æ·Â0³â
  • 2006-08-08 16:09:24
  • x
´ÙÀ½±Û [err]Keystore was tampered with, or password was incorrect
>> 2492 Á¤±ÔÇ¥Çö½ÄÀ» ÀÌ¿ëÇÑ ¹®ÀÚ¿­ ġȯ  [2] °æ·Â0³â 4154 08-07 13:06
ÀÌÀü±Û ÅèÄÏ¿¡¼­ JTAȰ¿ëÇϱâ