Trim-Funktion nicht entfernen Leerzeichen am Ende einer Zeichenfolge beim vergleichen von zwei strings in vbs
Habe ich ein einfaches Skript, welches nimmt zwei strings und vergleichen Sie Sie. Das erste hat ein Leerzeichen am Ende und das zweite nicht haben.
Function compare(str1,str2)
dim a
If strComp(trim(str1),trim(str2))=0 Then
msgbox "OK"
a=1
Else
msgbox "KO"
a=0
End If
compare=a
End Function
Ich diese Funktion in dieser Weise:
s1= SUCCESSFULLY CONNECTED
s2= SUCCESSFULLY CONNECTED
result=compare(s1,s2)
Den Unterschied zwischen s1 und s2, s1 endet mit einem einzigen Raum, während die s2 hat keine Leerzeichen am Ende. Das der Grund, warum ich die Trim-Funktion zu ignorieren, dass Raum.
Trotz, dass für s1 und s2, ich bekomme immer die Meldung "KO" im Dialogfeld. Ich habe sogar verändert den Zustand von
If trim(str1)=trim(str2) Then
Aber das popup ist immer noch zurückgegeben "KO". Dies ist eine wunderbare situation!
Bitte, ich bin müde und hoffe, dass Sie helfen, diese situation verstehen.
Vielen Dank im Voraus
InformationsquelleAutor new | 2013-07-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
VBScript ist
Trim
entfernt Leerzeichen, die nicht in andere Arten von Leerzeichen. Benötigen Sie ein RegExp zu reinigen strings mit führenden/nachgestellten vbTab, vbCrLf, ... die Sie oft bekommen, wenn Sie die Verarbeitung der Ausgabe .Laufen oder. Exec.Demo-snippet:
siehe demo.
Super!!! Ich danke Ihnen sehr für Sie, bekommen Sie mich brechen die Sackgasse. Dank
InformationsquelleAutor Ekkehard.Horner
Vielleicht möchten Sie versuchen, diese:
Beachten Sie, dass die nachfolgende vbTab Hinzugefügt
str1
ist jetzt wieder einfach durch entfernen des letzten Zeichens.Dies ist nützlich, wenn Sie möchten, dass zur Erhaltung der inneren VbTabs wenn Sie im Begriff waren, Sie zu nutzen, um split den string in ein array, zum Beispiel.
InformationsquelleAutor Dave Allonby