如何在替换语句中转义连字符
var lvs = "ui-btn ui-btn-up-XXX ui-li ui-li-has-icon ui-btn-hover-e ui-btn-up-ZZZ" ;
var lvs = lvs.replace(/\bui-btn-up-[^\b]*?\b/gi , "" ) ;
alert( lvs);
我尝试过很多前后斜线的变化
答案 0 :(得分:3)
我认为你使用单词break(\b
)太复杂了。这不适用于你想要做的事情吗?
var lvs = lvs.replace(/ui-btn-up(-\w+)?/gi, "");
这也假设您要删除ui-btn-up
的值。如果没有,请使用:
var lvs = lvs.replace(/ui-btn-up-\w+/gi, "");
答案 1 :(得分:1)
你想这样做:
var lvs = lvs.replace(/\sui-btn-up-\S+\s*?/gi , "" ) ;
答案 2 :(得分:1)
这对我来说没问题: -
lvs = "ui-btn ui-btn-up-XXX ui-li ui-li-has-icon ui-btn-hover-e ui-btn-up-ZZZ" ;
var lvs = lvs.replace(/\bui-btn-up-\w*\s*/gi , "" ) ;
alert( lvs);
答案 3 :(得分:0)
您不必逃避-
。
'sonia-b-cat'.replace(/a-b-c/, '123') // 'sonia123at'
只有当它在一个字符类中时才需要用反斜杠
来转义它'z-z'.replace(/[abc\-]/, '123') // 'z123z'