2016-08-31 13 views
3

나는이 나는, 그것은 작동하지 않습니다 파일에서 추출한 값 중 하나에 트림 (STR)를 사용하지만 때마다, 쉼표로 구분 된 텍스트 파일에서 읽는 스크립트 ...VBScript를 트림 기능

내 텍스트 파일 :

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 

내 스크립트는 결코 "일치"를 도달하지 나는 이유를 모르겠어요.

+0

배열 범위를 벗어나는 오류가 발생합니까? – STLDeveloper

+0

오류가 없으며 그냥 자르지 않습니다 – tarki

+1

'trim ("some strings, anotherstring, onelaststring")은 결코 ""anotherstring "과 동일하지 않습니다. 아마도 ","에 줄을 나누고 싶습니까? –

답변

3

Trim()은 트림 된 문자열을 반환하는 함수입니다. 귀하의 코드에서 부적절하게 사용하고 있습니다. 당신은 반환 값 사용할 필요가 :

trimmedStr = Trim(myTxtArr(1)) 
If trimmedStr = "anotherstring" Then 

myTxtArr(1) = Trim(myTxtArr(1)) 

을하거나 값을 저장하기 위해 다른 변수를 사용하고 비교하는 별도의 변수를 사용하거나 그냥 직접 함수 반환 값을 사용할 수 있습니다

012 : 비교에서, 여기
If Trim(myTxtArr(1)) = "anotherstring" Then 

는 코드의 해당 부분의 수정 된 버전입니다
+1

'tLine = 스플릿 (tLine, ",")'==>'tLine = 스플릿 , ",")' –

+0

@ Ekkehard.Horner : 고마워요. DId는 질문에서 복사 한 코드에서 오류를 보지 못했습니다. 그것을 지적 주셔서 감사합니다. 결정된. –