new*_*new 2 vbscript spaces trim
我有一个简单的脚本,它需要两个字符串并进行比较.第一个在末尾有一个空格而第二个没有.
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
Run Code Online (Sandbox Code Playgroud)
我用这种方式使用这个函数:
s1= SUCCESSFULLY CONNECTED
s2= SUCCESSFULLY CONNECTED
result=compare(s1,s2)
Run Code Online (Sandbox Code Playgroud)
s1和s2之间的区别在于s1以单个空格结束,而s2在末尾没有任何空格.这就是我使用Trim函数忽略该空间的原因.尽管如此,对于s1和s2,我总是在对话框中得到消息"KO".我甚至改变了条件
If trim(str1)=trim(str2) Then
Run Code Online (Sandbox Code Playgroud)
但弹出窗口仍然返回"KO".这是一个美好的情况!
拜托,我已经厌倦了,希望你能帮助理解这种情况.先感谢您
VBScript Trim删除空格/空格,而不是其他类型的空格.当你处理.Run或者的输出时,你需要一个RegExp来清理带有前导/尾随vbTab,vbCrLf,...的字符串.Exec的.
演示片段:
>> s1 = "abc" & vbCrLf & " "
>> s2 = "abc"
>> WScript.Echo Len(s1), Len(s2)
>> set r = New RegExp
>> r.Global = True
>> r.Pattern = "^\s+|\s+$"
>> s1 = r.Replace(s1, "")
>> s2 = r.Replace(s2, "")
>> WScript.Echo Len(s1), Len(s2)
>> WScript.Echo CStr(s1 = s2)
>>
6 3
3 3
True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10674 次 |
| 最近记录: |