正しい文字列検索を実行し、JavaScriptでREGEXを絶対に使用しないで置き換えるにはどうすればよいですか?JavaScriptで「生の」文字列の検索と置換を行う方法REGEX
String.prototype.replace()
の最初の引数が正規表現ではなく文字列であれば、それはリテラル置換を行います。完全に真実ではありません練習ショー:
"I am a string".replace('am', 'are')
--> "I are a string"
OK
"I am a string".replace('am', 'ar$e')
--> "I ar$e a string"
それでもOK
"I am a string".replace('am', 'ar$$e')
--> "I ar$e a string"
ないでOK!
二番目のドル記号はどこですか?それはREGEXからのマッチで置き換えるために$1
のようなものを探しています...それは決して使用されませんでしたか?
私は非常に混乱し、どんなアイデアですか?
二ドル記号があるため、[この](HTTPSを離れて食べられます://developer.mozilla .org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter)。 –
質問が残っています、なぜ私は正規表現を最初に使用していないので、これらのクォークはアクティブですか?ただ私にはばかばかしいようだ。 –
@TonyBogdanovそれは[15.5.4.11 String.prototype.replace(searchValue、replaceValue)]でそのように定義されているためです。(http://www.ecma-international.org/ecma-262/5.1/#sec-15.5.4.11 )。なぜapiがそのように設計されたのか知りたいのであれば、この決定に関わった人たちに質問する必要があります。しかし、正規表現を使用しない場合でも、正規表現を使用すると便利です。 '' test 1234 '.replace( "12"、 "$ &-");' –