特殊文字 '(アポストロペ) を \'(バック スラッシュ アポストロペ) に置き換える必要がありますが、これは、文字列の開始文字と終了文字を除いて、文字列の間のみにする必要があります。
例:msg ='My Son's Daughter';
文字列には複数のアポストロフィーが含まれる場合があります。文字列の開始文字と終了文字ではないアポスロープを置き換えたいだけです。
アイデアがあれば教えてください。
特殊文字 '(アポストロペ) を \'(バック スラッシュ アポストロペ) に置き換える必要がありますが、これは、文字列の開始文字と終了文字を除いて、文字列の間のみにする必要があります。
例:msg ='My Son's Daughter';
文字列には複数のアポストロフィーが含まれる場合があります。文字列の開始文字と終了文字ではないアポスロープを置き換えたいだけです。
アイデアがあれば教えてください。
試す
msg = msg.replace(/(.)'(.)/g, "$1\\'$2");
の.
先頭と末尾には、 の前後に任意の文字が必要です'
。
は、その中で定義された文字 ( ) を変数 (および)()
にキャッチします。.
$1
$2
$1
とは$2
、両方のキャッチされた文字を表し()
ます。
リテラルをエスケープ/\\
表す\
開始時、これを正規表現 (regex) として定義する/
直前g
はg
、すべての出現を示す修飾子 (グローバル) です。
正規表現は、文字列であるかのように引用符で囲んではなりません。
置換機能は、あなたが求めているものです。これでうまくいくはずです:
msg = msg.replace(/'/g, "\\'");