String is not null, empty, or empty string

后端 未结 6 808
礼貌的吻别
礼貌的吻别 2021-01-04 07:18

What is the quickest and easiest way (in Classic ASP) to check if a string has some string (that has a length greater than 0) i.e. NOT \"Null\", \"Nothing\", \"Empty\", or \

相关标签:
6条回答
  • 2021-01-04 07:44

    You could try having something like this:

    Function nz(valToCheck, valIfNull)
     If IsNull(valToCheck) then
        nz = valIfNull
     Else
        nz = valToCheck
     End if
    End function
    

    and then you would use it like this:

    if nz(var,"") <> "" then
      '--string has something in it
    else
      '--string is null or empty
    end is
    
    0 讨论(0)
  • 2021-01-04 07:45
    <%
    Dim x,y
    x = "abcdefg"
    
    'counting length of string
    y = Len(x) 
    Response.Write (y)
    
    
    'checking string is empty or not
    If Len(x) = 0 then 
    Response.Write ("<p>String is empty</p>")
    Else
    Response.Write ("<p>String is not empty</p>")
    End If
    %>
    

    Hope this is helpful.

    0 讨论(0)
  • 2021-01-04 07:48

    This worked for me:

    if mystring  = "" then wscript.echo "Empty string"
    else wscript.echo "String is not empty"
    
    0 讨论(0)
  • 2021-01-04 07:52

    To make sure that the Variant you deal with is of sub-type "string", you need the VarType or TypeName function. To rule out zero length strings, you need Len(). To guard against strings of space, you could throw in a Trim().

    Code to illustrate/experiment with:

    Option Explicit
    
    Function qq(s) : qq = """" & s & """" : End Function
    
    Function toLiteral(x)
      Select Case VarType(x)
        Case vbEmpty
          toLiteral = "<Empty>"
        Case vbNull
          toLiteral = "<Null>"
        Case vbObject
          toLiteral = "<" & TypeName(x) & " object>"
        Case vbString
          toLiteral = qq(x)
        Case Else
          toLiteral = CStr(x)
      End Select
    End Function
    
    Function isGoodStr(x)
      isGoodStr = False
      If vbString = VarType(x) Then
         If 0 < Len(x) Then
            isGoodStr = True
         End If
      End If
    End Function
    
    Dim x
    For Each x In Array("ok", "", " ", 1, 1.1, True, Null, Empty, New RegExp)
        WScript.Echo toLiteral(x), CStr(isGoodStr(x))
    Next
    

    output:

    cscript 26107006.vbs
    "ok" True
    "" False
    " " True
    1 False
    1.1 False
    True False
    <Null> False
    <Empty> False
    <IRegExp2 object> False
    0 讨论(0)
  • 2021-01-04 08:00

    Here's a one-liner that dodges all the trouble with Null by concatenating the value with an empty string. It works for Null, Empty, "", and, of course, strings with actual length! The only one it doesn't (nor shouldn't) work for is Nothing, because that's for object variables, of which a string is not.

    isNullOrEmpty = (Len("" & myString) = 0)
    
    0 讨论(0)
  • 2021-01-04 08:03

    You can use the VarType() function to check if it is a string, then you can check if the string is not empty. This statement will only pass through a string that isn't empty.

    If VarType(MyString) = 8 Then
      If MyString <> "" Then 
        'String is Not Null And Not Empty, code goes here
    
      End If
    End If
    
    0 讨论(0)
提交回复
热议问题