将文字变成没有破折号的文字

时间:2016-02-09 10:55:04

标签: vba ms-word word-vba

我想替换用" - "分隔的行末尾的单词。像:

blah blah bl-
ah blah

进入公正:

blah blah
blah blah

我应该找到并替换" - "与""? (这也将取代想要的破折号。)

编辑Hambone: 字符串是这样的:

"prior permis- sion of the publishers"

1 个答案:

答案 0 :(得分:1)

虽然你当然可以使用VBA,但实际上你根本不需要它。 Microsoft Word在查找/替换对话框中支持正则表达式。

要启用正则表达式,只需确保"使用WildCards"在查找/替换对话框中打开标志。从那里,您可以使用正则表达式。下面是一个示例,它将替换一系列字符后跟连字符和另一系列字符替换为无连字符的版本:

enter image description here

如果您不熟悉Regex:

  • ()捕获匹配
  • []表示"其中任何一个"
  • \ 1 =返回第一个匹配(第一组括号)

例如,如果您想要字母和数字,它将如下所示:

(a-zA-Z0-9)-(a-zA-Z0-9)

此外,如果你真的想要VBA,你可以使用VBScript正则表达式库,或者你可以将这些步骤记录为宏并清理它以满足你的需要。