.Net string.IsNullOrWhiteSpace()是否有VBscript等价物?

时间:2017-11-29 08:29:54

标签: .net vbscript

我正在VBscript中编写一个脚本,我需要检查一个字符串是空的还是只有空格字符(例如空格,制表符,换行符......)

在.Net中有一个方便的string.IsNullOrWhiteSpace()操作来测试它,但我似乎无法在VBscript中找到一个简单的等价物。
我知道我可以循环每个字符,然后将其与已知空白字符列表进行比较,或者我可以使用正则表达式,但我希望有更好的解决方案

2 个答案:

答案 0 :(得分:1)

没有这样的方法,我认为这是最简单的方法:

Len(Trim(str)) = 0

正如omegastripes所指出的,这种方法与.NET方法IsNullOrWhieSpace不同,因为white-spaces包括空格,制表符,换行符和这些类别的其他字符。

VbScript中没有等效的东西。因此,如果要包含所有字符而不仅仅是空格,则需要使用正则表达式方法。 Here's就是一个。

答案 1 :(得分:0)

感谢蒂姆的回答,我提出了这个解决方案 它并不完美,也不是最好的答案,但它足以满足我的目的。

'checks if this string is empty or has only whitespace characters
function isEmptyOrWhiteSpace(stringToCheck)
    dim returnValue
    returnValue = false
    if len(stringToCheck) = 0 then
        returnValue = true
    elseif len(trim(stringToCheck)) = 0 then
        returnValue = true
    else
        'remove all whitespace characters other then spaces
        dim replacedString
        replacedString = replace(stringToCheck, vbTab, "")
        replacedString = replace(replacedString, vbNewline, "")
        replacedString = replace(replacedString, vbCRLF, "")
        'Other characters to replace?
        if len(trim(replacedString)) = 0 then
            returnValue = true
        end if
    end if
    'return
    isEmptyOrWhiteSpace = returnValue
end function