Trim leading spaces including tabs

后端 未结 4 998
醉酒成梦
醉酒成梦 2020-12-19 13:20

I need to read files using vbscript and remove all leading spaces including any tabs. I now LTRIM will remove the leading spaces but how do I remove tabs also.

Thank

4条回答
  •  无人及你
    2020-12-19 14:04

    Andrew's answer is not correct. LTrim, RTrim and Trim only removes spaces, not tabs.

    I reformatted your code, and added a function to strip any leading or trailing characters.

    filename="test.txt"
    
    set fso = createobject("scripting.filesystemobject")
    set f = fso.opentextfile(filename)
    
    do while not f.AtEndOfStream
      s = TrimChars(f.readline, " " + vbTab)
      wscript.echo "|" & s & "|"
    loop
    
    f.close
    
    set f = nothing
    set fso = nothing
    
    ''---
    
    function TrimChars(s, sChars)
      dim n, nLen, nStart
    
      nLen = Len(s)
      if nLen = 0 then
        TrimChars = s
        exit function
      end if
    
      ''- skip leading chars
      n = 1
      do while (n <= nLen) And (InStr(sChars, Mid(s, n, 1)) > 0)
        n = n + 1
      loop
      nStart = n
    
      ''- skip trailing chars
      n = nLen
      do while (n > nStart) And (InStr(sChars, Mid(s, n, 1)) > 0)
        n = n - 1
      loop
    
      ''- return remaining chars
      nLen = n - nStart + 1
      if (nLen > 0) and (nStart <= len(s)) then
        TrimChars = Mid(s, nStart, nLen)
      else
        TrimChars = ""
      end if
    end function
    

提交回复
热议问题