String VBA-字符串操作空空间

String VBA-字符串操作空空间,string,vba,String,Vba,我正在使用WinHttp.WinHttpRequest从站点检索信息。 但是,检索到的信息在开始之前有一些空格,可以使用LeftTrim函数删除这些空格 但是,即使在修剪了字符串之后,在第一个字母之前,我仍然会遇到一些恼人的事情 Text before Ltrim " Hello World!" Text after Ltrim " Hello World!" 注意:使用left显示修剪文本的第一个字符返回“”,但尝试使用IF与“”进行比较不起作用,因此我无法删除这些“” 我该如何

我正在使用WinHttp.WinHttpRequest从站点检索信息。 但是,检索到的信息在开始之前有一些空格,可以使用LeftTrim函数删除这些空格

但是,即使在修剪了字符串之后,在第一个字母之前,我仍然会遇到一些恼人的事情

Text before Ltrim
"     Hello World!"

Text after Ltrim
"  Hello World!"
注意:使用left显示修剪文本的第一个字符返回“”,但尝试使用IF与“”进行比较不起作用,因此我无法删除这些“”

我该如何移除这些该死的东西,这是什么?

你想用它吗

Trim("    Hello World")

这将删除字符串前后的所有空格。

首先识别流氓字符-可能是一个制表符:

str = trim$(str)

?"""" & str & """"
"   Hello World!"

'//what is the char code of the first char?
?ascw(left$(str, 1))
 9 '// tab
然后实现一个自定义的
LTrim
,例如

Function LTrimWs(str As String) As String
    Dim i As Long
    For i = 1 To Len(str)
        Select Case Mid$(str, i, 1)
            Case " ", ChrW$(9)
               Mid$(str, i, 1) = " "
            Case Else
               LTrimWs = LTrim$(str)
               Exit For
        End Select
    Next
End Function
尝试-基于公式,但可能有用
Function LTrimWs(str As String) As String
    Dim i As Long
    For i = 1 To Len(str)
        Select Case Mid$(str, i, 1)
            Case " ", ChrW$(9)
               Mid$(str, i, 1) = " "
            Case Else
               LTrimWs = LTrim$(str)
               Exit For
        End Select
    Next
End Function