javascript で '$txt$' を置き換える方法。文字列内の出現箇所をすべて置き換えたい
それは私が試したことです
if (html.indexOf('$txt$') > -1) {
html = html.replace(/$txt$/ig, '<input type=text></input>');
}
しかし、それは文字列を置き換えません.私の間違いは何ですか.助けてください
javascript で '$txt$' を置き換える方法。文字列内の出現箇所をすべて置き換えたい
それは私が試したことです
if (html.indexOf('$txt$') > -1) {
html = html.replace(/$txt$/ig, '<input type=text></input>');
}
しかし、それは文字列を置き換えません.私の間違いは何ですか.助けてください
$ 記号は正規表現で意味を持つため、エスケープするだけです。に変更します
html = html.replace(/\$txt\$/ig, '<input type="text" />');
そしてそれはうまくいくはずです:)
編集: $ は正規表現の行末を意味します :)
html = html.replace(/[$]txt[$]/ig, ''); これを使って
正規表現を使用して置き換えており$
、行/文字列の末尾に正規表現で予約されている特殊文字です。
リテラル文字にヒットさせるに$
は、バックスラッシュを前に付けてエスケープする必要があります。\
if (html.indexOf('$txt$') > -1) {
html = html.replace(/\$txt\$/ig, '<input type=text></input>');
}