VBA正则表达式格式化字符串

时间:2014-12-18 13:24:16

标签: regex excel vba excel-vba

我想删除字符串中的所有空格,括号(打开和关闭),点和破折号,我尝试做一个正则表达式,但是没有成功。 你能救我吗?

3 个答案:

答案 0 :(得分:2)

试试这个: 正则表达式:([\s\(\{\[\)\}\]\.\-]+)

Live Demo

我在 php:

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

$result = preg_replace($re, $subst, $str);

答案 1 :(得分:1)

作为 RegEx 的替代方案,请考虑:

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

答案 2 :(得分:0)

与您要删除的内容匹配的RegEx将是:

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

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