【发布时间】:2019-01-08 19:17:16
【问题描述】:
我正在 Excel VBA 中进行一些单词替换。替换单词本身,由任何特殊字符(a-z、A-Z、0-9 除外)分隔,并保留大小写。
正确替换示例(将example 替换为replaced):
One example string > One replaced string
One Example string > One Replaced string
One Example, string > One Replaced, string
One >example< string > One >replaced< string(前后特殊字符)
One dexamples string > One dexamples string(example 未替换)
我已经通过使用几行使其工作,如下所示。任何想法如何使用正则表达式或类似方法做到这一点?
cel.Replace what:=" " & Rng.Value & " ", replacement:=" " & Rng.Offset(0, 1).Value & " ", MatchCase:=True
cel.Replace what:=" " & Rng.Value & ",", replacement:=" " & Rng.Offset(0, 1).Value & ",", MatchCase:=True
cel.Replace what:=">" & Rng.Value & "<", replacement:=">" & Rng.Offset(0, 1).Value & "<", MatchCase:=True
...
编辑:
我有一个大约 1000 个单词的列表,应该通过脚本运行,并单独替换。因此,我需要将案例维护为变量输入。 (如果匹配为Example,则替换为Replaced)
编辑: 有几个特殊字符需要处理。例如:",./\"?();:&"。这个列表已经很长了。
【问题讨论】: