从字符串中删除不需要的char

时间:2015-03-23 11:30:49

标签: vb.net vba excel-vba excel

我有这个功能,我已经使用了一段时间,从我的字符串中删除标签和其他不需要的东西。但是我最近想让它适应使用Windows路径,所以我想改变它,所以它在字符串中留下:和\字符。我相信我需要将所有字符“\”添加到.Pattern行。但是我已经尝试了下面的代码,由于某种原因它不起作用,任何人都可以帮忙吗?

非常感谢

Public Function PrepareString(TextLine As String) As String

        Dim oRegex As Object
        If oRegex Is Nothing Then oRegex = CreateObject("vbscript.regexp")
        With oRegex
            .Global = True
            'Allow A-Z, a-z, 0-9, -, /, :, _ and ' 
            .Pattern = "[^A-Za-z0-9 -/\:_']"
            TextLine = .Replace(TextLine, vbNullString)
        End With
        TextLine = Trim(TextLine)

        PrepareString = TextLine

    End Function

1 个答案:

答案 0 :(得分:1)

在RegEx中,\是一个特殊字符,因此您必须使用\转义它。

试试这个:

.Pattern = "[^A-Za-z0-9 -/\\:_']"

这将是* nix方式,至少