私はこのコードを持っています:
a = "xyz"
g = "abcd " & a
実行後、g
の値はabcd xyz
。
ただし、a
のg
の値を引用符で囲みます。コードの実行後、g
はabcd "xyz"
代わりに。
どうすればこれを達成できますか?
引用符を二重にしてエスケープできます
_g="abcd """ & a & """"
_
または明示的なchr()
呼び出しを書く
_g="abcd " & chr(34) & a & chr(34)
_
二重引用符をエスケープするには二重二重引用符を使用する必要があります(笑):
g = "abcd """ & a & """"
私は通常これを行います:
Const Q = """"
Dim a, g
a = "xyz"
g = "abcd " & Q & a & Q
コード内で文字列を引用符でもっと頻繁にラップする必要があり、上記のアプローチがノイズが多いか読めない場合は、関数でラップすることもできます。
a = "xyz"
g = "abcd " & Q(a)
Function Q(s)
Q = """" & s & """"
End Function
引用符を指定する従来の方法は、Chr(34)
を使用することです。これはエラー耐性があり、忌まわしいものではありません。
Chr(34) & "string" & Chr(34)
私はそれらをすべて使用したので、これらの答えを改善できるとは思いませんが、私の好みは定数を宣言し、それを使用することです。引用符の間違い。 ;)
あなたは次のようにすることができます:
a="""xyz"""
g="abcd " & a
または:
a=chr(34) & "xyz" & chr(34)
g="abcd " & a
文字列を形成するときに単一引用符を使用し、次に単一引用符を二重引用符に置き換える関数を呼び出す単純なアプローチを設計しました。
もちろん、文字列内に実際の単一引用符を含める必要がない限り、このアプローチは機能します。
Function Q(s)
Q = Replace(s,"'","""")
End Function
...
user="myself"
code ="70234"
level ="C"
r="{'User':'" & user & "','Code':'" & code & "','Level':'" & level & "'}"
r = Q(r)
response.write r
...
お役に立てれば。