如何在VBS中选择逗号之前和之后的输入?

时间:2014-01-15 16:37:59

标签: string variables vbscript

我正在为我编程来编程,而不是为一个坐标点创建多个输入框,如下所示:

Option Explicit
Dim X,Y
X=InputBox("Enter X")
Y=InputBox("Enter Y")

我想知道如何设置Y和X而不是分别输入“(X,Y)”而不是它们, 如果可能的话,用“(X1,Y1)(X2,Y2)”设置Y1,Y2,X1和X2。

2 个答案:

答案 0 :(得分:1)

要从字符串中获取部件,可以使用

分割:

>> s = "4,5"
>> a = Split(s, ",")
>> m = CLng(a(0))
>> n = CLng(a(1))
>> WScript.Echo m, n, m + n
>>
4 5 9

正则表达式

>> s = "4,5"
>> Set r = New RegExp
>> r.Pattern = "\d+"
>> r.Global = True
>> Set ms = r.Execute(s)
>> m = CLng(ms(0))
>> n = CLng(ms(1))
>> WScript.Echo m, n, m + n
>>
4 5 9

答案 1 :(得分:1)

根据您最终想要达到的目标,您还可以使用Execute声明:

expr = InputBox("Enter mathematical expression:")
Execute "result = " & expr
WScript.Echo expr & " = " & result

正如Ekkehard.Horner在评论中指出的那样,你也可以使用Eval,这还有一个额外的好处就是你不必在评估的字符串中包含赋值:

expr = InputBox("Enter mathematical expression:")
result = Eval(expr)
WScript.Echo expr & " = " & result

请注意,除非您添加一些严格的输入验证,否则这两种方法都不是一种快速的方法,并且不能在生产环境中使用。