VBA正则expression式来格式化一个string

我想删除所有的空格,括号(打开和closures),点和短划线,我尝试做一个正则expression式,但没有成功。 你可以帮我吗 ?

符合您要删除的RegEx是:

/[ \(\)\.-]/g 

如果您想要匹配任何forms的空格而不是简单的空格,请使用\ d代替单个空格(方括号后的第一个字符)。

试试这个: regex: ([\s\(\{\[\)\}\]\.\-]+)

现场演示

我在php中使用

 $re = "/([\\s\\(\\{\\[\\)\\}\\]\\.\\-]+)/m"; $str = "park fdgh{dg df} df \n"; $subst = ""; $result = preg_replace($re, $subst, $str); 

作为RegEx的替代scheme,请考虑:

 Sub StringFixer() ary = Array("(", ")", " ", ".", "-") For Each r In Selection t = r.Text For Each a In ary t = Replace(t, a, "") Next a r.Value = t Next r End Sub