web-dev-qa-db-ja.com

PHP preg_replaceと同等のJavaScript

私はPHP preg_replace関数と私がこれまでに見つけたものは単にstring.replace

ただし、正規表現をJavaScriptに変換する方法がわかりません。これは私のPHPコードです:

preg_replace("/( )*/", $str, $str);

したがって、たとえば次のようになります。

test   test   test test

になる:

test-test-test-test

JavaScriptでこれを行う方法を誰かが知っていますか?

16
Skyfe
var text = 'test   test   test test',
    fixed;
fixed = text.replace(/\s+/g, '-');
22
ant_Ti

javascript string.replace関数も正規表現を取ります:

"test    test  test    test".replace(/ +/,'-');

http://jsfiddle.net/5yn4s/

3
Paul Creasey

Javascript replace 関数リファレンスを参照してください。

あなたの場合、それは次のようなものです

var result = str.replace(/\s+/g, '-');

しかし、これは1つのスペースだけを置き換えます。今それに取り組んでいます:)

0
J0HN

JavaScriptでは、次のように記述します。

result = subject.replace(/ +/g, "-");

ところで、あなたは正しいPHPコードを投稿したでしょうか?それはむしろ次のようになります:

$result = preg_replace('/ +/', '-', $str);
0