VBA正则表达式字符组不支持unicode字符组(例如{p(L}
)。此外\w
仅匹配拉丁字母数字。所以我的问题是如何从我的unicode字符串中替换非字母数字字符而不在模式字段中键入整个字符列表。
例如,尝试使用下划线替换"abc (for αβψ̌) and de (for δε)"
中的每个非单词字符,模式\W
会导致"abc__for_______and_de__for____"
而不是abc__for_αβψ___and_de__for_δε_
最后我认为至少有一个快速解决方案......
答案 0 :(得分:1)
一种方法是在范围内找到unicode的第一个和最后一个字符,并将其用作字符范围。使用模式[^\w,\u0370-\u03FF\u1F00-\u1FFF]
,我可以摆脱任何非拉丁语或非希腊语字母数字字符。
我们也可以在excel函数RegExReplace