0

文字を正規表現に置き換える方法はありますが、変数からです。例:

var separator = '-';
text = text.replace(/[-\s]+/g, separator);

これは-末尾の文字を区切り文字に置き換えます。この場合も同じです。

だから、私はこれを設定する必要があります-変数セパレーターからの文字:

var separator = '-';
var regex = '/['+separator+'\s]+/g';
text = text.replace(regex, separator);

これどうやってするの?ありがとう。

4

1 に答える 1

7

RegExp正規表現を動的に生成するために使用します。

function escapeRegExp(string){
    return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
}
var regex = new RegExp('[' + escapeRegExp(separator) + '\\s]', 'g');

escapeRegExpは正規表現から来ています - JavaScript | MDN

\: 、および.をエスケープする必要がありseparatorます。

于 2013-09-13T16:49:08.293 に答える