Regex vba中的特殊字符转义无效
我不知道为什么,但我无法逃避模式中的特殊角色Regex vba中的特殊字符转义无效,regex,excel,vba,Regex,Excel,Vba,我不知道为什么,但我无法逃避模式中的特殊角色 If StrTest Like "\[*\]" Then ... 它仍然与[1234567890]之类的值不匹配。 在其他线程中,我读到\用于转义字符,但它仍然不起作用 在括号之间,我希望任何字符串都是可能的。当使用类似VBA的运算符时,应该通过将特殊字符括在方括号中来转义它们[和]。上面使用的是正则表达式的语法,它与类似模式不同。有关Like和正则表达式之间差异的更多信息,请参阅。使用类VBA运算符时,应通过将特殊字符括在方括号中来转义它们[和]
If StrTest Like "\[*\]" Then ...
它仍然与[1234567890]之类的值不匹配。
在其他线程中,我读到\用于转义字符,但它仍然不起作用
在括号之间,我希望任何字符串都是可能的。当使用类似VBA的运算符时,应该通过将特殊字符括在方括号中来转义它们[和]。上面使用的是正则表达式的语法,它与类似模式不同。有关Like和正则表达式之间差异的更多信息,请参阅。使用类VBA运算符时,应通过将特殊字符括在方括号中来转义它们[和]。上面使用的是正则表达式的语法,它与类似模式不同。有关Like和正则表达式之间差异的更多信息,请参阅。使用RegEx.Replace方法尝试下面的解决方案 注意:特别感谢您对本系列图案的帮助
使用RegEx.Replace方法尝试下面的解决方案 注意:特别感谢您对本系列图案的帮助 另一个解决方案:
Sub no_spch()
For Each cell In range("a1:a10")
spch = "#+-,'.()[]!?`&:*"
For i = 1 To Len(spch)
cell.Value = Replace(Replace(cell.Value, Mid(spch, i, 1), ""), " ", "")
Next
Next
End Sub
另一个解决方案:
Sub no_spch()
For Each cell In range("a1:a10")
spch = "#+-,'.()[]!?`&:*"
For i = 1 To Len(spch)
cell.Value = Replace(Replace(cell.Value, Mid(spch, i, 1), ""), " ", "")
Next
Next
End Sub
如果这些答案有助于你考虑。接受答案会奖励那些帮助你的人。它也帮助其他人找到同样的问题找到答案。如果这些答案有助于你考虑。接受答案会奖励那些帮助你的人。它还可以帮助其他有同样问题的人找到有效的答案。