1

replace ステートメントでハイフンをエスケープする方法

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);

スラッシュとバックスラッシュの多くのバリエーションを試しました

4

4 に答える 4

3

改行文字 ( \b) で複雑にしすぎていると思います。これはあなたがやろうとしていることにはうまくいきませんか?

var lvs = lvs.replace(/ui-btn-up(-\w+)?/gi, "");

これは、 の値を削除することも前提としていますui-btn-up。そうでない場合は、次を使用します。

var lvs = lvs.replace(/ui-btn-up-\w+/gi, "");
于 2013-03-07T21:56:32.147 に答える
1

あなたはそれをしたかったですか:

var lvs = lvs.replace(/\sui-btn-up-\S+\s*?/gi , "" ) ;
于 2013-03-07T21:45:48.803 に答える
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);

http://jsfiddle.net/keith_nicholas/6KA9T/

于 2013-03-07T21:54:39.173 に答える
0

逃げる必要はありません-

'sonia-b-cat'.replace(/a-b-c/, '123') // 'sonia123at'

キャラクタークラスにある場合にのみ、バックスラッシュでエスケープする必要があります

'z-z'.replace(/[abc\-]/, '123') // 'z123z'
于 2013-03-07T21:44:37.870 に答える