JavaScript È°¿ëÆÁ
2009.02.08 / 23:47

¿øÇÏ´Â ¹®ÀÚ¿­À» ÀüºÎ replaceÇϱâ

À¯ÂùÁ¤¸í
Ãßõ ¼ö 137
Á¦¸ñ¾øÀ½
¿øÇÏ´Â ¹®ÀÚ¿­À» ÀüºÎ replaceÇϱâ

    String.prototype.trim = function()
    {
      return this.replace(/(^\s*)|(\s*$)/gi, "");
    }

    String.prototype.replaceAll = function(str1, str2)
    {
      var temp_str = "";

      if (this.trim() != "" && str1 != str2)
      {
        temp_str = this.trim();

        while (temp_str.indexOf(str1) > -1)
        {
          temp_str = temp_str.replace(str1, str2);
        }
      }

      return temp_str;
    }

 

»ç¿ë¹ý.

var str = ¹®ÀÚ¿­.replaceAll("a", "1");  // ¹®ÀÚ¿­ ³»¿¡¼­ 'a'¸¦ ã¾Æ ÀüºÎ '1'·Î ¹Ù²Ù¶ó´Â ÀǹÌ

 

Ãâó : http://www.okjsp.pe.kr/bbs?act=VIEW&bbs=bbs4&seq=30830

 

msdn :

http://msdn.microsoft.com/library/en-us/jscript7/html/jsoriversioninformation.asp?frame=true

 

str = "abcdefga";
document.writeln("[" + str.replaceAll("[a].*", "i") + "]");

"[a].*"¶ó´Â ¹®ÀÚ¿­À» ¸øã±â ¶§¹®¿¡

´ç¿¬È÷ [abcdefga]¶ó°í ³ª¿É´Ï´Ù. ^^;

»ç½Ç ÀÌ ±ÛÀ» ½á ³õ°í javaclue´ÔÀÌ ¾ê±âÇϽÅ

RegExp¿¡ ´ëÇØ »ý°¢ÀÌ ³ª¼­ msdnÀ» µÚÁ®ºÃ½À´Ï´Ù.

RegExp¶ó´Â Object´Â MS¿¡¼­ ¸¸µç JScript¿¡ Æ÷ÇÔµÈ

ObjectÀÔ´Ï´Ù.

Çü½ÄÀº new RegExp("pattern",["flags"]); ÀÔ´Ï´Ù.

/pattern/[flag]µµ °°Àº Çü½ÄÀÔ´Ï´Ù.

flag´Â ´ÙÀ½°ú °°½À´Ï´Ù.

g (global search for all occurrences of pattern)
i (ignore case)
m (multiline search)

¸¸¾à ´ë¼Ò¹®ÀÚ ±¸ºÐ¾øÀÌ ¹Ù²Ù°í ½ÍÀ» °æ¿ì

str2 = str.replace(/a/gi, "1"); ¶ó°í »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.

Á»´õ »ó¼¼È÷ ¾Ë°í ½ÍÀ¸½Å ºÐÀº

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsobjregexpression.aspÀ» ÂüÁ¶Çϼ¼¿ä.

str = "abcdefga";
document.writeln("[" + str.replaceAll("[a].*", "i") + "]");

Ãâ·Â : [bcdefga]

 

---------------------------------------------------------------------------------------

javaclue ´ÔÀÇ ±Û

 

Àú replaceAll ÇÔ¼öÀÇ ±¸Çö¿¡ ´ëÇÏ¿© ±× ÆÛÆ÷¸Õ½ºÀÇ ¹®Á¦ÀÔ´Ï´Ù.
str = "aaaaaaaaaa": // a °¡ 10°³
str2 = str.replaceAll("a", "1");
ÀÌ·¯¸é Àú ±¸Çö¿¡¼­ temp_str.replace(str1, str2) °¡ 10¹ø »ç¿ëµË´Ï´Ù.

¸¸ÀÏ str ÀÌ 10¸¸°³ÀÇ a·Î µÇ¾ú´Ù¸é 10¸¸¹ø »ç¿ëµÇ°ÚÁö¿ä.

¸¸ÀÏ Á¤±Ô½ÄÀ» ¾´´Ù¸é while ¹Ý¸Ô¹® ÇÒ °Í ¾øÀÌ

str = "aaaaaaaaaa": // a °¡ 10°³
str2 = str.replace(/a/g, "1");

ÀÌ·¸°Ô ´Ü ÇѹøÀÇ È£Ãâ·Î µË´Ï´Ù.
str ¿¡ a °¡ 10¸¸°³ ÀÖ´õ¶óµµ str.replace ´Â ´Ü Çѹø¸¸
È£ÃâµË´Ï´Ù.


 

±×¸®°í ±× replaceAll À» ´õ °£´ÜÈ÷ ±¸ÇöÇÑ °Í 2°³¸¦ ¿Ã¸³´Ï´Ù. (»ç½ÇÀº ÀÌ µÑÀº ¸¶Âù°¡ÁöÀÔ´Ï´Ù.)
String.prototype.replaceAll = function(from, to) {
return this.replace(new RegExp(from, "g"), to);
}

String.prototype.replaceAll02 = function(from, to) {
return this.replace(eval("/" + from + "/g"), to);
}

ÀÇ Ãâ·ÂÀº
[ibcdefgi] °¡ À̴϶ó [i] ÀÔ´Ï´Ù.
(±× ÀÌÀ¯´Â óÀ½ ¹ß°ßµÈ aºÎÅÍ ±× ÀÌÈĸ¦
¸ðµÎ ÇÑ°³ÀÇ ¹®ÀÚ i·Î ¹Ù²Ù¶ó´Â ÀǹÌÀÇ replaceAll À̱⠶§¹®ÀÔ´Ï´Ù.)