js中字符串和正则相关的方法
正则表达式对象常用方法
test()
检索字符串中指定的值。返回 true 或 false。
var str="Embrace You" var r1=/you/i.test(str)//i 忽略大小写 console.log(r1)//true
支持正则表达式的String对象的方法
split()
- 可以将一个字符串拆分为一个数组
- 方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串
var str="1a2B3d4g5c6" var result=str.split(/[A-z]/) console.log(result)//["1", "2", "3", "4", "5", "6"]
search()
- 可以搜索字符串中是否含有指定内容
- 如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到,返回-1
- 它可以接收一个正则表达式作为参数,然后根据正则表达式去检索字符串
例:搜索字符串中是否含有abc 或 aec 或 afc
var str1="hello abc hello aec sdf afc" var str2="hello hello aec sdf afc" var result1=str1.search(/a[bef]c/) var result2=str2.search(/a[bef]c/) console.log(result1+" "+result2)//6 12
match()
语法:
string.match(searchvalue)
在字符串中查找 "ain":
var str="The rain in SPAIN stays mainly in the plain"; var n=str.match("ain");//ain
找到一个便停止查找,若要全部找出,可配合使用正则表达式:
var str="The rain in SPAIN stays mainly in the plain"; var n=str.match(/ain/gi);//全局查找,忽略大小写 //ain,AIN,ain,ain
replace()
语法:
string.replace(searchvalue,newvalue)
在字符串中查找并替换“Microsoft”:
var str="Visit Microsoft! Visit Microsoft!"; var n=str.replace("Microsoft","Runoob"); //n:"Visit Runoob! Visit Microsoft!"
此时只替换了第一处的值,若想继续替换,可使用正则表达式
var str="Visit Microsoft! Visit Microsoft!"; var n=str.replace(/Microsoft/gi,"Runoob");//全局替换,忽略大小写 //n: "Visit Runoob! Visit Runoob!"