/正则表达式/ 代表的意思。
为什么用正则呢,看你的需求,像这个demo可用直接用单引号替换字符串。
正则有其强大的作用,可以替换多个字符串,而双引号只能替换一次。
js提供的字符串替换函数replace可以将字符串中符合条件的字符串替换成目标字符串。但是一般使用字符串进行查找替换只能替换第一个符合条件的结果。如:
var str=大家都是男人吗,难道不是吗!
str=str.replace('吗','嘛')
alert(str)
var str=大家都是男人吗,难道不是吗!str=str.replace('吗','嘛')alert(str)
上述代码中只有第一个吗被替换,输出结果是大家都是男人嘛,难道不是吗!,嘿嘿!
如果想全部替换字符串中全部符合条件的内容,用正则表达式替换是个不错的办法,如下代码可以实现全部替换。
var str='大家都是男人吗,难道不是吗?'
str=str.replace(/吗/g,'嘛')
alert(str)
var str='大家都是男人吗,难道不是吗?'str=str.replace(/吗/g,'嘛')alert(str)
这样就会输出大家都是男人嘛,难道不是嘛?,全部符合条件的内容都被替换了,特别要注意的是正则表达式/吗/g这里的g,这个g表示全局,不给这个配置项是不会全部替换的。
当然通过复杂的正则表达式,js的replace还能实现更丰富的字符串替换处理效果的。
js提供一个replace方法,replace(目标字符串, 替换的字符串)1、一般常用的,替换字符串中的"?"
var result = "abcd?efg".replace("?","")//abcdefg
console.log(result)
2、跟1比较,发现只能替换一次,一般建议用循环进行多次替换
var result2 = "abcd?efg?hijk?lmn".replace("?","")//abcdefg?hijk?lmn
console.log(result2)
3、使用正则表达式进行替换
var reg = /\?/g//创建正则,表示替换全局替换"?"
var result3 = "abcd?efg?hijk?lmn".replace(/\?/g,"")//abcdefghijklmn
console.log(result3)
补充:
正则格式:/pattern/标识符,如/\?/g,
因为?是特殊字符,需要\进行转义,然后g标识全局查找,如果不写这个,就不会进行全局替换