vbscript - заменить все пробелы - PullRequest
3 голосов
/ 06 декабря 2011

У меня 6400+ записей, по которым я зацикливаюсь. Для каждого из них: я проверяю правильность адреса, проверяя его на предмет чего-то похожего на то, что использует Почтовое отделение (найти адрес). Мне нужно проверить, совпадает ли полученный почтовый индекс.

Единственная проблема заключается в том, что почтовый индекс мог быть введен в нескольких различных форматах, например:

OP6 6YH
OP66YH
OP6  6YH. 

If Replace (strPostcode, "", "") = Replace (xmlAddress.selectSingleNode ("// postcode"). Text, "", "") Then

Я хочу удалить все пробелы в строке. Если я выполню команду «Заменить» выше, она удалит пробел для первого примера, но оставит один для третьего.

Я знаю, что могу удалить их, используя оператор цикла, но верю, что это заставит скрипт работать очень медленно, так как для удаления пробелов ему придется перебирать записи более 6400+.

Есть ли другой способ?

Ответы [ 3 ]

4 голосов
/ 13 декабря 2011

Лично я только что сделал такой цикл:

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> 
4 голосов
/ 06 декабря 2011

Я не знал, что вам нужно добавить -1, чтобы удалить все пробелы

Replace(strPostcode," ","",1,-1)
2 голосов
/ 06 декабря 2011

Это синтаксис Replace(expression, find, replacewith[, start[, count[, compare]]])

, по умолчанию он будет -1 для счета и 1 для запуска.Может быть, какая-то dll повреждена, изменяя настройки по умолчанию функции Replace.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...