1

以下を extjs グリッドに渡しています。変数内に引用符がある場合、どのようにエスケープしますか。

append rval "'description':'$description',"
append rval "'short_description':'$shortDescription',"
4

3 に答える 3

1

regsubを使用して、すべての一重引用符を置き換えることができます。

regsub -all "\'" $rval "\\\'" rval  
regsub -all "\"" $rval "\\\"" rval

最初の行は、rval変数のすべてのアポストロフィの前にバックスラッシュを配置します。2行目は、すべての二重引用符の前に円記号を配置します。regsubコマンドでも、アポストロフィ、二重引用符、およびバックスラッシュ自体をエスケープする必要があります。したがって、regsubの最後から2番目の引数にあるトリプルバックスラッシュです。

于 2012-07-10T15:15:46.467 に答える
1

string map最も簡単な答えは次のとおりです。

% string map {' \\'} aaa'bbb'ccc
aaa\'bbb\'ccc
于 2012-07-10T17:00:18.820 に答える
0

シンプルな JavaScript の replace メソッドをこのように使用し、次の正規表現を使用できます。

var tempvariable = yourJsonString.replace(/(')/g, "'");

この一時変数をグリッドに渡すと、問題なく動作します。

于 2012-07-10T18:15:04.470 に答える