vbscript-替换所有空格

vbscript-替换所有空格,vbscript,replace,Vbscript,Replace,我有6400多条记录,正在循环浏览。对于其中的每一项:我通过与邮局使用的类似内容(查找地址)进行测试来检查地址是否有效。我需要再次检查我提取的邮政编码是否匹配 唯一的问题是邮政编码可能以多种不同格式输入,例如: OP6 6YH OP66YH OP6 6YH. 如果Replace(strPostcode,“,”)=Replace(xmlAddress.selectSingleNode(//postcode”).text,“,”),则 我想删除字符串中的所有空格。如果我执行上面的替换,它会删除

我有6400多条记录,正在循环浏览。对于其中的每一项:我通过与邮局使用的类似内容(查找地址)进行测试来检查地址是否有效。我需要再次检查我提取的邮政编码是否匹配

唯一的问题是邮政编码可能以多种不同格式输入,例如:

OP6 6YH
OP66YH
OP6  6YH. 
如果Replace(strPostcode,“,”)=Replace(xmlAddress.selectSingleNode(//postcode”).text,“,”),则

我想删除字符串中的所有空格。如果我执行上面的替换,它会删除第一个示例的空间,但会为第三个示例保留一个空间

我知道我可以使用loop语句删除这些,但我相信这会使脚本运行得非常慢,因为它必须循环6400多条记录才能删除空格


还有别的办法吗

我不知道您必须添加-1才能删除所有空格

Replace(strPostcode," ","",1,-1)

这是语法
Replace(表达式、查找、替换为[、开始[、计数[、比较]])


计数默认为
-1
,启动默认为
1
。可能是某些dll已损坏,正在更改替换函数的默认值。

我个人刚刚完成了如下循环:

Dim sLast
Do
    sLast = strPostcode
    strPostcode = Replace(strPostcode, " ", "")
    If sLast = strPostcode Then Exit Do
Loop
但是,您可能希望使用正则表达式替换:

Dim re : Set re = New RegExp
re.Global = True
re.Pattern = " +"  ' Match one or more spaces
WScript.Echo re.Replace("OP6 6YH.", "")
WScript.Echo re.Replace("OP6  6YH.", "")
WScript.Echo re.Replace("O  P   6       6    Y     H.", "")
Set re = Nothing
后者的产出是:

D:\Development>cscript replace.vbs
OP66YH.
OP66YH.
OP66YH.
D:\Development> 

我不明白。具体地说,您的第三个示例与第一个示例看起来完全相同,
Replace
结果如何不同?你做了很多假设——你有没有先尝试过?你的“记录”来自哪里——数据库查询?废话少说。给我看代码(Linus Torvalds)。我在第一个空格中放了两个空格,但Stackoverflow肯定删除了第二个空格。是的,我已经厌倦了Replace函数,它只删除了第一个空格(如果有两个空格在一起)。CSV文件和XML文件。根据,您不需要:
1
-1
分别为默认值。但是,由于您已经在处理XML和使用XPath,因此应该尝试找到解决此问题的XPath解决方案,而不是简单的VBScript解决方案。