置換に$ 'がある場合、replaceメソッドは予期しない結果を生成します

y1n3sa

置換文字列に$ '文字が含まれている場合、メソッドの結果を奇妙な文字列に置き換えます。

例:https//jsfiddle.net/1jns2eo9/


var p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';

var regex = /dog/gi;

document.getElementById('first').innerHTML = p.replace(regex, '$');
/// The quick brown fox jumps over the lazy $. If the $ reacted, was it really lazy?
document.getElementById('second').innerHTML = p.replace(regex, "$'");
/// The quick brown fox jumps over the lazy . If the dog reacted, was it really lazy?. If the reacted, was it really lazy? reacted, was it really lazy?
VLAZ

これは、を使用するreplace場合、2番目のパラメーターが特別な構文を使用して置換を動的にすることができるためです。$'パターン

一致した部分文字列に続く文字列の部分を挿入します。

だから、例えば

var str = "abcd";
var regex = /b/;
console.log(str.replace(regex, "$'"))

あなたはなるだろうacdcdので、BがAB:それを次の文字列に置き換えられているCD

これは、$'パターンを別の文字列置換の一部として使用すると、より明確になります。

var str = "abcd";
var regex = /b/;
console.log(str.replace(regex, "(-replacement: $' :replacement-)"))

それを避けてリテラルを挿入したい場合は、単純なリテラル文字を挿入するために使用するパターンである単一の代わりに$'使用できるため、他の動的置換の使用を回避できます。$$$$

var str = "abcd";
var regex = /b/;
console.log(str.replace(regex, "$$'"))

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

パンダの文字列置換メソッドは予期しない結果をもたらします

分類Dev

JavaScript。配列に重複する数値が含まれている場合、Array .sort()メソッドはChromeとFirefoxで異なる結果を返します

分類Dev

正規表現-文字列から演算子を削除するメソッドを置換すると、望ましくない結果が生成されます

分類Dev

z3 Optimizeは、ソルバーが結果を生成する場合に結果を生成しません

分類Dev

IntelliJ IDEAは、forループをforeachメソッドに置き換えることを推奨しています。可能な場合は常にそれを行う必要がありますか?

分類Dev

正規表現EOLをperlに置き換えると、予期しない結果が生じます

分類Dev

信号周波数が正確にfftビンにある場合、NumpyFFTは予期しない結果をもたらします

分類Dev

ベースに仮想関数がある場合、ベースクラスへの静的キャストは予期しない結果をもたらします

分類Dev

falseと!==をtrueと===に置き換えると、関数は予期しない結果をもたらします。説明はありますか?

分類Dev

Tが複数の新しい()タイプになる可能性がある場合にメソッドを生成する方法は?

分類Dev

#cmakedefine置換による予期しない結果

分類Dev

単純な並列計算は、コアよりも多くのスレッドがある場合に、より良い結果を達成します

分類Dev

ドキュメントの例に従う場合は、あいまいな呼び出しに置き換えます(ただし、非同期メソッドを使用します)

分類Dev

検索で結果が返されない場合に「結果なし」メッセージを追加する

分類Dev

列の終わりがまだ存在しない場合は、文字に置き換える必要があります

分類Dev

モザイク決定でデータソースにnull値がある場合の予期しない結果

分類Dev

メソッドがまだ存在しない場合にのみメソッドを実装する方法

分類Dev

`replace`メソッドを使用して整数をリストに置き換えることができないのはなぜですか-パンダ

分類Dev

ある範囲の列の値が別の列に存在しない場合は、NAに置き換えます

分類Dev

入力に同じ文字が含まれている場合は、置換関数PHPから重複する結果を削除します

分類Dev

AudioBufferListをCMSampleBufferに変換すると、予期しない結果が生成されます

分類Dev

パラメータがモデルではなくメソッド引数として直接定義されている場合、IHttpActionResultの結果はリクエスト本文パラメータのバインドに失敗します

分類Dev

Javaは、置換する代わりに置換文字列を追加するすべてのメソッドを置換します

分類Dev

numpyフーリエ変換は予期しない結果を生成します

分類Dev

値を置き換えるJavaScriptは予期しない結果をもたらします

分類Dev

角括弧がある場合、sedreplaceは文字列の置換に失敗します

分類Dev

sqliteビューは、多くの結果を生成する必要がある場合に1つの結果のみを生成します

分類Dev

自動メソッドを置き換える生成します

分類Dev

文字列を置き換えるにはsedを使用しますが、部分文字列の場合は置き換えないでください

Related 関連記事

  1. 1

    パンダの文字列置換メソッドは予期しない結果をもたらします

  2. 2

    JavaScript。配列に重複する数値が含まれている場合、Array .sort()メソッドはChromeとFirefoxで異なる結果を返します

  3. 3

    正規表現-文字列から演算子を削除するメソッドを置換すると、望ましくない結果が生成されます

  4. 4

    z3 Optimizeは、ソルバーが結果を生成する場合に結果を生成しません

  5. 5

    IntelliJ IDEAは、forループをforeachメソッドに置き換えることを推奨しています。可能な場合は常にそれを行う必要がありますか?

  6. 6

    正規表現EOLをperlに置き換えると、予期しない結果が生じます

  7. 7

    信号周波数が正確にfftビンにある場合、NumpyFFTは予期しない結果をもたらします

  8. 8

    ベースに仮想関数がある場合、ベースクラスへの静的キャストは予期しない結果をもたらします

  9. 9

    falseと!==をtrueと===に置き換えると、関数は予期しない結果をもたらします。説明はありますか?

  10. 10

    Tが複数の新しい()タイプになる可能性がある場合にメソッドを生成する方法は?

  11. 11

    #cmakedefine置換による予期しない結果

  12. 12

    単純な並列計算は、コアよりも多くのスレッドがある場合に、より良い結果を達成します

  13. 13

    ドキュメントの例に従う場合は、あいまいな呼び出しに置き換えます(ただし、非同期メソッドを使用します)

  14. 14

    検索で結果が返されない場合に「結果なし」メッセージを追加する

  15. 15

    列の終わりがまだ存在しない場合は、文字に置き換える必要があります

  16. 16

    モザイク決定でデータソースにnull値がある場合の予期しない結果

  17. 17

    メソッドがまだ存在しない場合にのみメソッドを実装する方法

  18. 18

    `replace`メソッドを使用して整数をリストに置き換えることができないのはなぜですか-パンダ

  19. 19

    ある範囲の列の値が別の列に存在しない場合は、NAに置き換えます

  20. 20

    入力に同じ文字が含まれている場合は、置換関数PHPから重複する結果を削除します

  21. 21

    AudioBufferListをCMSampleBufferに変換すると、予期しない結果が生成されます

  22. 22

    パラメータがモデルではなくメソッド引数として直接定義されている場合、IHttpActionResultの結果はリクエスト本文パラメータのバインドに失敗します

  23. 23

    Javaは、置換する代わりに置換文字列を追加するすべてのメソッドを置換します

  24. 24

    numpyフーリエ変換は予期しない結果を生成します

  25. 25

    値を置き換えるJavaScriptは予期しない結果をもたらします

  26. 26

    角括弧がある場合、sedreplaceは文字列の置換に失敗します

  27. 27

    sqliteビューは、多くの結果を生成する必要がある場合に1つの結果のみを生成します

  28. 28

    自動メソッドを置き換える生成します

  29. 29

    文字列を置き換えるにはsedを使用しますが、部分文字列の場合は置き換えないでください

ホットタグ

アーカイブ