2011-02-08 18 views

答えて

3

hh? WScript.Echo "$"はエスケープなしで$を出力します。 VBScript文字列リテラルの唯一の特殊文字は二重引用符です(文字列内のリテラルの二重引用符はtwo in a rowです)。

1

bigmoneyをVBScriptの正規表現で使用するときはエスケープする必要がありますが、これは非常に特殊なケースです。文字列プリミティブを変数に代入するために、いくつかのBASICフレーバー、VBAまたはVBで使用されているように、これを使用することはできません。 (C64用などの

10 FOR I = 1024 TO 1063 
20 A$ = A$ + CHR$(PEEK(I)) 
30 NEXT I 
40 ? A$; 
50 A$ = "" 
60 GOTO 10 

や古き良きVB6で

Dim i, original$, final$ 
original$ = "Hello World!" 
' Premature optimization rules! xxx$ functions are faster than xxx functions! 
final$ = Left$(original$, 3) & Chr$(112) & Chr$(32) & Chr$(109) & Mid$(original$, 2, 1) & Right$(original$, 7) 
MsgBox final$ 

ただ、後者の例では$を排除し、あなたがそれらを必要としません。

あなたは本当に、本当に、本当にあなたはいつものように括弧を使用することができ、ルーチンまたは変数の命名に$を使用する場合:

Sub [Wow! does thi$ really works? I'm a 1337 h4x0rz!] 
    MsgBox "Yes it does!" 
End Sub 
[Wow! does thi$ really works? I'm a 1337 h4x0rz!] 

編集を。
エクストラフリーボーナス:specialcharacter認識機能:

Public Function isSpecialCharacter(byVal myChar) 
    isSpecialCharacter = (myChar="""") 
End Function 
+0

は、テストはisSpecialCharacter =(myChar = "")ではないでしょうか? –

+0

Sir、あなたはちょうどisEmptyString関数を発明しました!特殊文字の場合、二重引用符( ")をテストしたいと思います。それにもう一つのバニーの耳を置くことでエスケープします(" ")。しかしそれでも文字列として定義する必要があります。 isSpecialCharacter =(myChar = "{1.文字列の開始}" {2。エスケープ文字} "{3。リテラルダブルクォート}" {4。文字列の終わり}) – AutomatedChaos

関連する問題