我试图替换子串" 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
答案 0 :(得分:0)
如果没有样本输入/输出,您想要做什么并不是很清楚。但是,如果您只想将字符串“AV-”替换为“ZS-”,则您的模式应为“AV - ”。
此外,如果你不知道,有正则表达式测试站点可以帮助你创建/测试你的正则表达式模式,因为复杂的模式可能会变得非常难以理解。我推荐的一个网站是https://regex101.com/。请记住,不同语言的正则表达式的实现并不相同,但它至少应该帮助您接近。