以下を extjs グリッドに渡しています。変数内に引用符がある場合、どのようにエスケープしますか。
append rval "'description':'$description',"
append rval "'short_description':'$shortDescription',"
regsubを使用して、すべての一重引用符を置き換えることができます。
regsub -all "\'" $rval "\\\'" rval
regsub -all "\"" $rval "\\\"" rval
最初の行は、rval変数のすべてのアポストロフィの前にバックスラッシュを配置します。2行目は、すべての二重引用符の前に円記号を配置します。regsubコマンドでも、アポストロフィ、二重引用符、およびバックスラッシュ自体をエスケープする必要があります。したがって、regsubの最後から2番目の引数にあるトリプルバックスラッシュです。
string map
最も簡単な答えは次のとおりです。
% string map {' \\'} aaa'bbb'ccc
aaa\'bbb\'ccc
シンプルな JavaScript の replace メソッドをこのように使用し、次の正規表現を使用できます。
var tempvariable = yourJsonString.replace(/(')/g, "'");
この一時変数をグリッドに渡すと、問題なく動作します。