programing

VBScript에서 문자열에 따옴표 추가

coolbiz 2021. 1. 18. 08:13
반응형

VBScript에서 문자열에 따옴표 추가


이 코드가 있습니다.

a = "xyz"  
g = "abcd " & a  

실행 후의 값은 g입니다 abcd xyz.

그러나, 나는의 값 따옴표 원하는 a에를 g. 코드를 실행 한 후에 gabcd "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

...

도움이 되었기를 바랍니다.


이중 인용 부호와 삼중 인용 부호를 사용하는 답이 불만족 스러웠습니다. 중첩 된 DO ... LOOP을 사용하여 코드의 ASP 세그먼트를 작성했습니다. 문자열 내에 반복되는 따옴표가 있습니다. 코드를 실행했을 때 :

thestring = "<asp:RectangleHotSpot Bottom=""" & bottom & """ HotSpotMode=""PostBack"" Left="""& left & """    PostBackValue=""" &xx & "." & yy & """ Right=""" & right & """ Top=""" & top & """/>"

출력은 다음과 같습니다. <`asp : RectangleHotSpot Bottom = "28

 'Changing the code to the explicit chr() call worked:

thestring = "<asp:RectangleHotSpot Bottom=""" & bottom & chr(34) & " HotSpotMode=""PostBack"" Left="""& left & chr(34) & " PostBackValue=""" &xx & "." & yy & chr(34) & " Right=""" & right & chr(34) & " Top=""" & top & chr(34) &"/>"

출력 :

<asp:RectangleHotSpot Bottom="28" HotSpotMode="PostBack" Left="0" PostBackValue="0.0" Right="29" Top="0"/>

ReferenceURL : https://stackoverflow.com/questions/2942554/adding-quotes-to-a-string-in-vbscript

반응형