使用Regex查找和替换Substing

时间:2016-01-21 19:27:25

标签: regex excel replace

我试图替换子串" AV - "在使用Regex for Excel的字符串中。我创建了以下函数但它没有找到或替换匹配

Sub simpleRegex()
Dim strPattern As String: strPattern = "[AV-]{AV-}"
Dim strReplace As String: strReplace = "ZS-"
Dim regEx As New RegExp
Dim strInput As String
Dim Myrange As Range

Set Myrange = ActiveSheet.Range("E" & (ActiveCell.Row))

If strPattern <> "" Then
    strInput = Myrange.Value
    strReplace = ""

    With regEx
        .Global = True
        .IgnoreCase = False
        .Pattern = strPattern
    End With

    If regEx.Test(strInput) Then
        ActiveSheet.Range("E" & (ActiveCell.Row)).Value = (regEx.Replace(strInput, strReplace))
    Else
        MsgBox ("Not matched")
    End If
End If

End Sub

1 个答案:

答案 0 :(得分:0)

如果没有样本输入/输出,您想要做什么并不是很清楚。但是,如果您只想将字符串“AV-”替换为“ZS-”,则您的模式应为“AV - ”。

此外,如果你不知道,有正则表达式测试站点可以帮助你创建/测试你的正则表达式模式,因为复杂的模式可能会变得非常难以理解。我推荐的一个网站是https://regex101.com/。请记住,不同语言的正则表达式的实现并不相同,但它至少应该帮助您接近。