2017-11-29 25 views
0

私はVBscriptでスクリプトを書いています。文字列が空であるか、空白文字(スペース、タブ、改行など)しかないかどうかを確認する必要があります。.Net string.IsNullOrWhiteSpace()にはVBscriptの同等機能はありますか?

In便利なstring.IsNullOrWhiteSpace()操作をテストすることができますが、私はVBscriptで簡単に同等のものを見つけることができないようです。
私はそれぞれの文字私ができるループを知っているし、その後、既知のホワイトスペース文字のリストにそれを比較したり、私は正規表現を使用することができますが、私はそのような方法はありませんより良いソリューション

+0

あなたは方法が空白文字をミスことhttps://stackoverflow.com/a/26108809/603855 –

答えて

1

を期待していた、私は考えますこれは最も簡単である:スペース、タブ、改行、およびこれらのカテゴリの他の文字を含むIsNullOrWhieSpacewhite-spacesので、このアプローチはomegastripesによってNETの方法と同じではない述べたよう

Len(Trim(str)) = 0 

VbScriptには同等の機能はありません。したがって、スペースだけでなくすべての文字を含める場合は、正規表現のアプローチが必要です。 Here'sは1です。

+1

で「ヌル」または「文字列」の外観の世話をした場合、私は。 e。 'vbNewLine'、' vbCrLf'です。 – omegastripes

+0

@omegastripes:ありがとう、私の答えに記されている –

+0

ありがとう、あなたの答えは、私が必要とするものを得るために 'Trim'と' Replace'の組み合わせを使う関数を書くように促しました。 –

0

Timの回答のおかげで、私はこの解決策を考え出しました。
これは完璧ではなく、また最良の答えではありませんが、私の目的には十分です。

'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