WEB开发网
开发学院网页设计JavaScript javascript中replace()函数用法小谈 阅读

javascript中replace()函数用法小谈

 2010-09-14 13:05:45 来源:WEB开发网   
核心提示: $nn 第 nn 个捕获到的子匹配,这里 nn 为从 01 到 99 的十进制二位数,javascript中replace()函数用法小谈(3),(JScript 5.5 或更高版本)这样看就有思路了,现在这个re = /(S+)(s+)(S+)/g;有3个括号,不要紧,我们主要是用来给第

$nn 第 nn 个捕获到的子匹配,这里 nn 为从 01 到 99 的十进制二位数。(JScript 5.5 或更高版本)

这样看就有思路了。现在这个re = /(S+)(s+)(S+)/g;有3个括号,也就是相当于3个匹配。而这个$1、$2、$3就分别代表这3个匹配。

回到这个例子当中。re = /(S+)(s+)(S+)/g就来匹配一个非空串+一个空串+一个非空串,也就是会非别匹配"The rain"、"in Spain"、

"falls mainly"、"in the"。这些都会被匹配。

实际上是这个函数一共找到了4个符合条件的字符串。第一个是"The rain",这个字符串的3部分"The"、" "(空格)、"rain"分别对应$1$2$3这3个子匹配。 现在再看这句话就简单了r = ss.replace(re, "$3$2$1"),它的意思就是把找到的每个串的这3个子匹配的顺序调整。第一个就是"rain The"。同理,后面的几个字符串都这样颠倒一下。最终结果就是"rain The Spain in mainly falls the in plain."。不难理解吧。

当然喽,你不一定对这3个正则都要处理的。比如我现在想把这个字符串中的所有空格后面加"_",要怎么写呢?这样来写,

re = /(s+)/g;

r = ss.replace(re, "$1_");

这样就可以了,但是发觉这种用法还不如第一种用的多。不要紧,我们主要是用来给第三种用法作铺垫。现在我想把空格去掉,怎么做?

exp3:

function ReplaceDemo()...{
  var r, re;           //Declare variables.
  var ss = "The rain in Spain falls mainly in the plain.";
  re = /(s+)/g;    //Create regular expression pattern.
  r = ss.replace(re, function()...{return "";});  //Swap each pair of words.
  return(r);           //Return resulting string.
}

上一页  1 2 3 4  下一页

Tags:javascript replace 函数

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接