在 vbs 中比较两个字符串时,Trim 函数不会删除字符串末尾的空格

2024-04-03

我有一个简单的脚本,它需要两个字符串并比较它们。第一个末尾有一个空格,第二个则没有。

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

我以这种方式使用这个函数:

s1=     SUCCESSFULLY CONNECTED
s2=     SUCCESSFULLY CONNECTED
result=compare(s1,s2)

s1 和 s2 之间的区别在于 s1 以单个空格结尾,而 s2 末尾没有任何空格。这就是为什么我使用 Trim 函数来忽略该空间。 尽管如此,对于 s1 和 s2,我总是在对话框中收到消息“KO”。我什至改变了条件

If trim(str1)=trim(str2) Then

但弹出窗口仍然返回“KO”。这是一个美妙的情况!

拜托,我对此感到厌倦,希望您能帮助理解这种情况。 先感谢您


VBScript 的Trim删除空格/空白,而不是其他类型的空白。您需要一个 RegExp 来清理带有前导/尾随 vbTab、vbCrLf 等的字符串,当您处理 .Run 或的输出时,您经常会遇到这种情况。执行。

演示片段:

>> 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 vbs 中比较两个字符串时,Trim 函数不会删除字符串末尾的空格 的相关文章

  • 发送 HTML 电子邮件 asp

    我想在电子邮件中添加一些 html 我已经尝试过以下方法 vFromName someone vFromAddress someemail vTo recipient vSubject someSubject vBodyofemail ta
  • 仅获取子文件夹的文件夹大小,而忽略任何其他内容?

    我创建了下面的脚本 它管理和维护 RootFolder 中分配的存储 其中存储每日备份 每个备份都存储在其自己的单独文件夹中 并且如果 RootFolder 内容超过预设限制 则最旧的备份文件夹将被删除 到目前为止 一切都很好 我遇到的问题
  • jQuery 修剪不会删除?

    如何修剪字符串中的所有空格 即使它们是由不间断空格引起的 nbsp 例如 var foo trim p nbsp foo nbsp p text foo 的值为 foo 代替 foo UPDATE所以 问题不在于 jQuery 的修剪功能
  • Git 合并并修复具有两个分支的混合空间和选项卡

    我已经经历了一些类似的 SOQ 但没有找到适合这种情况的适当解决方案 我注意到在许多文件中 用于缩进的制表符和空格混杂在一起 目前我们遵循的编码标准使用 4 个空格作为制表符 虽然这个问题应该在发生时就得到解决 但我现在需要考虑它 并希望修
  • 如何从 vbs 脚本发送电子邮件

    如何从 vbs 脚本发送电子邮件 在无法连接到互联网的计算机上 位于我的非互联网区域 我通过谷歌搜索将以下内容整合在一起 但似乎需要调用微软的服务器 如果我无法访问 microsoft com 该怎么办 sch http schemas m
  • VBScript 运行时错误“800a000d”

    在我们的业务中 我们使用安全向导来控制和管理活动目录安全性 并对所做的更改进行审计跟踪 这是一个带有 ASP 前端的 SQL 数据库 它还可以与我们的 Active Directory 进行通信 编写该向导的人已经在我们的网站上为公司的另一
  • 暗淡和公共有什么区别?

    今天提出了一个关于范围的问题 这引起了我的思考 我一直了解 VBScript 范围以及如何声明全局和本地 我突然想到我从来没有使用过Public变量但倾向于使用Dim相反 在全局声明时 据我了解Dim是相同的Public 但如果是这样的话
  • 我可以直接从命令行运行 vbscript 命令(即没有 vbs 文件)吗?

    在Python中你没有义务使用文件 你可以指定 c 并通过命令行上的字符串将 Python 命令提供给 Python 解释器 我可以用 vbscript 达到相同的结果吗 我见过需要您使用批处理脚本的解决方案 但是如果我所在的系统具有零写入
  • 由 VBScript 运行的 xPath 中的未知方法

    错误消息是 msxml3 dll 未知方法 Record CelloXml Integration Case ServiceEvent gt last 我的代码如下所示 错误出在案例上NEW Case OLD可以很好地配合 0 在那里 On
  • 如何将 VBScript 转换为可执行 (EXE) 文件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我四处寻找转换 VBScript 的信息 vbs 到可执行文件 并意识到大多数可用的工具实际上是将脚本包装在可执行文件中 尝试了一些工
  • VB错误“需要对象”

    当我运行以下脚本时 我在第 54 行 最后一行 收到 需要对象 错误 怎么了 Option Explicit Dim cmdString g strHostFile filepath flexnetpath importcmd dtmTod
  • WScript.Shell.Exec - 从 stdout 读取输出

    我的 VBScript 不显示我执行的任何命令的结果 我知道命令被执行 但我想捕获结果 我已经测试了多种方法来执行此操作 例如以下方法 Const WshFinished 1 Const WshFailed 2 strCommand pin
  • 使用 javascript 获取选择标签的名称

    我在任何地方都没有找到这个问题 所以我将其发布在这里 我有一堆选择标签 部分使用 VBScript 命名 我希望能够获取从 javascript 中的 onchange 事件调用的选择标签的名称 这是代码
  • 为什么根据检索顺序从 ADO Recordset 中获取空值而不是正确值? (DB表有NTEXT值)

    我有一个数据库表有两个datetime我需要使用 VBScript 从 ASP 页面读取可为空的列 这是我写的代码 Set cmd Server CreateObject ADODB Command With cmd ActiveConne
  • 使用 qtp 功能单击特定链接

    我想通过创建一个在操作中调用的函数来自动执行 Flipkart 的登录过程 Function Website this is the function Systemutil Run iexplore exe http www flipkar
  • CreateObject() vbs 的对象列表

    我喜欢脚本 我不喜欢重新发明轮子 所以我喜欢 CreateObject您能给我指出一个可在 VBScript 上使用的广泛且有用的对象列表并附上简短说明吗 确实 我还没有找到超过 50 个的网站 提前致谢 我自己并不知道有这样的列表 但我知
  • 如何从 HTA 中启动批处理文件

    我有一个基本的 HTA 其中我尝试通过按钮启动批处理文件 但是当我尝试启动批处理文件时 它不会运行 当我按下按钮时 将启动命令提示符窗口 但不会运行脚本 这是代码的简单示例
  • Runtime.exec 处理包含多个空格的参数

    我怎样才能进行以下运行 public class ExecTest public static void main String args try Notice the multiple spaces in the argument Str
  • 如何在远程机器上执行vbs文件

    如何在不使用 PsExec 的情况下执行位于同一域中的远程计算机上的 VBScript 我尝试了以下代码 但没有运气 Sub RunCommand strComputer Command Set objWMIService GetObjec
  • 尝试绑定到 AD 用户对象时出现错误 2147463168

    我正在 Windows 2012 不是 R2 并且无法升级 AD 环境上工作 当我使用管理员 非管理员 帐户从 vbscript 运行以下代码时 它运行完美 然而 当我以普通用户运行它时 我得到一个 2147463168 这似乎是一个绑定错

随机推荐