二重引用符でエスケープシーケンスの代わりに使用する方法<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />二重引用符で囲まれた文字列内でリテラルの「エスケープシーケンス」を置き換える方法私が抱えている問題は、JMPが常に「エスケープシーケンス」を評価し、そのリテラル文字表現を与えないことです。
ソース文字列:
myStr = "C:\ temp \ myfile.csv";
私が欲しいもの:
myStr = "C:\!\ temp \!\ myfile.csv";
次のメソッドはうまくいかないか、少なくともLogウィンドウでチェックしても表示されません(私の問題はLogウィンドウが常に評価されるのでしょうか)。
myStr = Substitute(myStr、"\"、"\!\"); ==>は "\!\"を評価して "\"に戻すので機能しません
myStr = Substitution(myStr、"\"、"\" || "!" || "\"); ==>これは再びこれを評価して二重の "\!\"を与えるのでうまくいきません
何か案は?--dj
再:二重引用符でエスケープシーケンスの代わりに使用する方法は?エスケープ文字を評価しないようにするには、エスケープ自体をどうにかしてエスケープする必要があります。
その通りです、ログ出力は紛らわしいかもしれません。このコードを実行して、ログとウィンドウが文字列を表示する方法を比較します。
myStr = "C:\ temp \ myfile.csv" ;
newStr1 = 代替 ( myStr 、 "\" 、 "\!\" ) ;
newStr2 = 代替 ( myStr 、 "\" 、 "\ [\!\] \" ) ; // "エスケープを回避する" "
//ログは文字列を評価します。newStr2は、「エスケープされたエスケープ」のためにログで奇妙に見えます。
見せる ( newStr1 、 newStr2 ) ;
//しかし、別の文脈ではnewStr2はそれが本当の価値を示しているのでしょうか。
nw = 新しい窓 ( "myStr" 、ストリングコルボックス ( 「新しい文字列」 、 { newStr1 、 newStr2 } ) ) ;
再:二重引用符でエスケープシーケンスの代わりに使用する方法は?私はJMPを持っていないのでこれをテストすることはできませんが、私は2段階のアプローチを試みるでしょう:
myStr = Substitute(myStr、"\"、"\!\");
myStr = Substitute(myStr、"!"、'!');
がんばろう。