替代VBA正则表达式unicode字符组支持

时间:2018-01-22 14:30:01

标签: regex excel vba unicode

VBA正则表达式字符组不支持unicode字符组(例如{p(L})。此外\w仅匹配拉丁字母数字。所以我的问题是如何从我的unicode字符串中替换非字母数字字符而不在模式字段中键入整个字符列表。

例如,尝试使用下划线替换"abc (for αβψ̌) and de (for δε)"中的每个非单词字符,模式\W会导致"abc__for_______and_de__for____"而不是abc__for_αβψ___and_de__for_δε_

最后我认为至少有一个快速解决方案......

1 个答案:

答案 0 :(得分:1)

一种方法是在范围内找到unicode的第一个和最后一个字符,并将其用作字符范围。使用模式[^\w,\u0370-\u03FF\u1F00-\u1FFF],我可以摆脱任何非拉丁语或非希腊语字母数字字符。 我们也可以在excel函数RegExReplace

中使用此模式