我正在VBscript中编写一个脚本,我需要检查一个字符串是空的还是只有空格字符(例如空格,制表符,换行符......)
在.Net中有一个方便的string.IsNullOrWhiteSpace()
操作来测试它,但我似乎无法在VBscript中找到一个简单的等价物。
我知道我可以循环每个字符,然后将其与已知空白字符列表进行比较,或者我可以使用正则表达式,但我希望有更好的解决方案
答案 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