replace() 方法
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。该方法不会改变原始字符串。
var str="Visit Microsoft! Visit Microsoft!"; var n=str.replace("Microsoft","Taobao");
效果:
Visit Taobao! Visit Microsoft!
在上面例子中,只执行了一次替换,当第一个 "Microsoft" 被找到,它就被替换为 "Taobao",而后面的 "Microsoft" 均不会被替换。
var str="Mr Blue has a blue house and a blue car."; var n=str.replace(/blue/g,"red");
效果:
Mr Blue has a red house and a red car.
在上面例子中,执行了全局替换,但有大小写区别。
var str="Mr Blue has a blue house and a blue car."; var n=str.replace(/blue/gi,"red");
效果:
Mr red has a red house and a red car.
在上面例子中,执行了全局替换,不区分大小写。
全局替换除了以上方法,还可以用下面例子中的方法。
<!-- 示例句 --> Visit Microsoft!Visit Microsoft!Visit Microsoft! // 通过 prototype 为 JavaScript 的 String 对象添加方法 String.prototype.replaceAll = function (search, replacement) { var target = this; return target.replace(new RegExp(search, 'g'), replacement); }; // 具体的执行方法 function myFunction() { var str = document.getElementById("demo").innerHTML; var n = str.replaceAll("Microsoft", "Taobao"); document.getElementById("demo").innerHTML = n; }
效果:
Visit Taobao!Visit Taobao!Visit Taobao!
split() 方法
split() 方法用于把一个字符串分割成字符串数组。
把一个字符串分割成字符串数组:
var str="How are you doing today?"; var n=str.split(" ");
效果:
How,are,you,doing,today?
上面例子是以空格来分割字符串,返回值是 Array 数组的字符串。
如果省略分割参数:
var str="How are you doing today?"; var n=str.split();
效果:
How are you doing today?
如果分割每个字符,包括空格:
var str="How are you doing today?"; var n=str.split("");
效果:
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
如果分割需要限制个数:
var str="How are you doing today?"; var n=str.split(" ",3);
效果:
How,are,you
使用一个字符作为分隔符:
var str="How are you doing today?"; var n=str.split("o");
效果:
H,w are y,u d,ing t,day?
注意:当使用一个字符作为分隔符时,返回值不包含分隔符自身。split() 所有返回值都是字符串数组。
slice() 方法
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
slice(start,end) 使用 start(包含) 和 end(不包含) 参数来指定字符串提取的部分。
字符串中第一个字符位置为 0, 第二个字符位置为 1, 以此类推。
注意:如果是字符是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
提取字符串的片断:
var str="Hello world!"; var n=str.slice(1,5);
效果:
ello
提取所有字符串:
var str="Hello world!"; var n=str.slice(0);
效果:
Hello world!
从字符串的第3个位置提取字符串片段:
var str="Hello world!"; var n=str.slice(3);
效果:
lo world!
从字符串的第3个位置到第8个位置直接的字符串片段:
var str="Hello world!"; var n=str.slice(3,8);
效果:
lo wo
只提取第1个字符:
var str="Hello world!"; var n=str.slice(0,1);
效果:
H
提取最后一个字符:
var str="Hello world!"; var n=str.slice(-1);
效果:
!
发表评论