VBScript:在参数中查找变量

时间:2013-05-16 17:50:50

标签: vbscript

我有一个简单的函数来检查页面上的文本。它首先检查特定参数是否有值,如果是,则执行代码,否则退出函数。

示例:

Function ck(reqA,reqB,optC)
IF optC <> "" Then
...run code
End If
End Function
ck(A,B,C)

变量C指向可能包含或不包含值的数据表。如果C是参数中唯一的值,则该函数可以正常工作。我遇到的问题偶尔需要将某种形式的静态文本连接到C,如:

ck(A,B,"Jibberish " & C)

在上面的示例中,optC始终求值为TRUE,因为找到了字符串“Jibberish”。我正在寻找一种忽略任何字符串的方法,只检查实际变量C在执行代码之前是否为空。建议?

1 个答案:

答案 0 :(得分:1)

在接收函数中提供静态文本,如

Function ck(reqA,reqB,optC)
IF optC <> "" Then
 optC = "jibberish " & optC
End If
End Function
ck(A,B,C)

或检查是否只有静态文本

Function ck(reqA,reqB,optC)
IF optC > "jibberish " Then
...run code
End If
End Function
ck(A,B,C)

如果'静态'文本也是可变的并且您无法区分optC的2个部分,那么在没有调整您的调用函数的情况下您无法做到这一点,在这种情况下只需添加一个参数即可可以检查其中一个是否为空

编辑:我认为你最好的选择是搜索并替换一个不错的编辑器(Sublime Text或类似的东西)并使用正则表达式搜索ck(A,B,“xxxxxxxx”&amp; C)和用ck替换(A,B,“xxxxxxxx |”&amp; C)(用“|”替换'“&amp;'&amp;',通过检查特殊字符|(或任何其他)来调整ck函数所以你看看这是否是最后一个字符以及是否需要执行该功能。如果需要,可以在多个脚本上进行搜索和替换,成功!!