程序开发中,最常用到的就是对字符串的操作。对一个字符串进行分割,截取,替换各种蹂躏来完成相应的需求。
本篇主要介绍在js中对字符串进行各种操作的方法(JS中对字符串的操作和在java代码中几乎一样)。
1.substring():字符串截取
substring(start,end)表示从start到end之间的字符串。
(1)字符串下标,从0开始。
(2)包括start位置的字符但是不包括end位置的字符。
(3)示例:“0123456789” sunstring(3,6) 结果为 345
var src="0123456789"; alert(src.substring(3,6)); //输出结果为 345
注意:<1>substring()方法使用 start 和 end 两者中的较小值作为子字符串的起始点。
例如, str.substring(0, 3) 和 str.substring(3, 0) 将返回相同的子字符串。
<2>如果 start 或 end 为 NaN 或者负数,那么将其替换为0。
2.substr():截取定长字符长
substr(start,length)表示从start位置开始,截取length长度的字符串。
示例:“0123456789” sunstr(3,6) 结果为 345678
var src="0123456789"; alert(src.substr(3,6)); //输出345678
length可省略,返回从开始位置到结束的一个字符串。
若果length 为0或者负数,则返回一个空字符串。
3.slice():还是截取
slice(start,end)表示从start到end之间的字符串。
同substring()用法基本相同。区别在于:
<1>当参数为负数时,将该值加上字符串长度后转为正值
<2>若第一个参数等于大于第二个参数,则返回空字符串.
例如:
var str="0123456789"; alert(str.subsring(2,-5)); //输出 01 (相当于substring(0,2)) alert(str.slice(2,-5)); //输出 234 (相当于substring(2,(-5+10)))
3.split():分割字符串
使用指定的分割符将字符串分割成字符串数组。
var str = "a,b,c,d,e,f"; var strs = str.split(","); //strs 为一个包含"a" "b""c" "d" "e" "f"的数组
4.join():合并字符串(有分就有合)
使用指定的字符串将字符串数组合并为一个字符串
//接上一个分割 var newStr = strs.join("|") //结果为"a|b|c|d|e|f"
5.indexOf():匹配字符串
indexOf("s")返回字符串中匹配子串的第一个字符的下标,如果没有返回-1.
注:可以结合substring()使用,截取特定字符串。
var myString=”JavaScript”; var w=myString.indexOf(”v”); //返回2 var x=myString.indexOf(”S”);x //返回4 var y=myString.indexOf(”Script”); //返回4 var z=myString.indexOf(”key”); //返回-1
6.replace
replace(rgExp/substr,replaceText) 用来查找匹配一个子串或者正则表达式的字符串,然后使用新字符串代替匹配的字符串。
注意:如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
直接引用W3C的示例:
var str="Visit Microsoft!" //结果为 Visit W3School! document.write(str.replace(/Microsoft/, "W3School")) //替换全部匹配的子串 document.write(str.replace(/Microsoft/g, "W3School"))