Vbscript修剪函数

Vbscript修剪函数,vbscript,whitespace,space,trim,blank-line,Vbscript,Whitespace,Space,Trim,Blank Line,我有一个在逗号分隔的文本文件中读取的脚本,但是每当我在文件中提取的一个值上使用Trim(str)时,它就不起作用了 我的文本文件: some string, anotherstring, onelaststring some string, anotherstring, onelaststring some string, anotherstring, onelaststring some string, anotherstring, onelaststring 我的剧本: Dim fso,

我有一个在逗号分隔的文本文件中读取的脚本,但是每当我在文件中提取的一个值上使用Trim(str)时,它就不起作用了

我的文本文件:

some string, anotherstring, onelaststring
some string, anotherstring, onelaststring
some string, anotherstring, onelaststring
some string, anotherstring, onelaststring
我的剧本:

Dim fso, myTxtFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set myTxtFile = fso.OpenTextFile("mytxt.txt")

Dim str, myTxtArr
txtContents myTxtFile.ReadAll
myTxtFile.close
myTxtArr = Split(txtContents, vbNewLine)

For each line in myTxtArr
    tLine = Split(tLine, ",")
    Trim(tLine(1))
    If tLine(1) = "anotherstring" Then
        MsgBox "match"
    End If
Next
我的脚本从未达到“匹配”,我也不知道为什么。

Trim()
是一个返回经过修剪的字符串的函数。您的代码未正确使用它。您需要使用返回的值:

myTxtArr(1) = Trim(myTxtArr(1))
或者使用另一个变量存储该值,并在比较中使用该单独的变量

trimmedStr = Trim(myTxtArr(1))
If trimmedStr = "anotherstring" Then
If Trim(myTxtArr(1)) = "anotherstring" Then
也可以直接在比较中使用函数返回值

trimmedStr = Trim(myTxtArr(1))
If trimmedStr = "anotherstring" Then
If Trim(myTxtArr(1)) = "anotherstring" Then
下面是您代码中该部分的更正版本:

For each line in myTxtArr
    tLine = Split(line, ",")
    tLine(1) = Trim(tLine(1))
    If tLine(1) = "anotherstring" Then
        MsgBox "match"
    End If
Next

您是否得到一个数组越界错误?没有错误,只是不修剪
trim(“某个字符串,另一个字符串,最后一个字符串”)
永远不等于
“另一个字符串”
。也许你想在“,”上拆分行?哇,对不起,我没有包含代码的这一部分,我更新了它。啊。可以非常有意义。
tLine=Split(tLine,”)
==>
tLine=Split(line,”)
@Ekkehard.Horner:谢谢。在我从问题中复制的代码中没有看到这个错误。谢谢你指出这一点。固定的。