Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex vba中的特殊字符转义无效_Regex_Excel_Vba - Fatal编程技术网

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

如果这些答案有助于你考虑。接受答案会奖励那些帮助你的人。它也帮助其他人找到同样的问题找到答案。如果这些答案有助于你考虑。接受答案会奖励那些帮助你的人。它还可以帮助其他有同样问题的人找到有效的答案。