替换字符集

时间:2017-08-02 10:22:10

标签: regex vbscript

我有一个字符串,其中我想将一些与我所需字符集不匹配的字符替换为每个字符集。因此,如果替换了3个字符,则应该有3个空格。

我需要的字符集=

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/?().,' "+& 

====>包括空间

到目前为止我尝试过的代码。

str    = "AC!@+D^*$ASS1@AC!@+D^*$ASS1@AC!@+D^*$ASS1@£ PPP    IE"
expstr = "AC  +D   ASS1 AC  +D   ASS1 AC  +D   ASS1   PPP    IE"

Set objRegX = New RegExp
objRegX.Pattern  = "[^A-Za-z0-9/?().,''+& ']"
str = objRegX.Replace(str, " ")

请帮忙。

我期望的String是变量'expstr'中的值。而'str'变量正在打印下面的

AC @+D^*$ASS1@AC!@+D^*$ASS1@AC!@+D^*$ASS1@£ PPP    IE

我需要它,如下所示

AC  +D   ASS1 AC  +D   ASS1 AC  +D   ASS1   PPP    IE

1 个答案:

答案 0 :(得分:1)

您需要将Global属性设置为True

objRegX.Global = True

如果您还需要排除双引号,请使用另一个双引号转义它,而不是使用两个单引号:

objRegX.Pattern  = "[^A-Za-z0-9/?().,""+& ']"