我正在使用Word 2016,我需要删除一些以已知单词开始或结尾的段落。例如,在以下文本中:
¶
lorem ipsum dolor sit amet,consecterur adipiscingelit.¶= p>
do do eiusmod临时裂缝et dolore et dolore magna aliqua,¶
ut enm ad ad Minim veniam,quis nostrud练习ullamco labiris nisi ut alquip exea.¶= p>
lorem ipsum dolor sit amet,consecterur adipiscing elit。UT ENM广告最小静脉,...¶
段落以给定的单词/字符串从预期工作开始(删除第一和第四段):
找到什么:"Lorem ipsum dolor *^13"
|补充:""
|通配符:On
以给定单词/字符串结尾的段落不起作用(删除第二段)。尝试:
-
"^13* magna aliqua,^13"
^10 = cr-删除左侧的所有内容,包括以前的段落 -
"^10*magna aliqua,^13"
^10 = lf-无更改>
我还尝试了此网站上的一些有趣的示例http://word.mvps.org/.../ususionwidcards.htm,但找不到解决方案。
有什么方法可以使用VBA?
"^13* magna aliqua,^13"
^10 = cr-删除左侧的所有内容,包括以前的段落
这是可以理解的,因为*
匹配包括CR在内的任何字符,因此匹配的部分从第一个发现的Cr延伸到以magna aliqua,
结尾的第一个发现的Cr。
为了不匹配其他段落的结尾,我们必须更多地使用*
以外的其他内容:
[!^13]@ magna aliqua,^13
[!^13]
的意思是"除Cr以外的任何字符",@
表示"此或多个出现"
删除以'lorem'开头的所有段落,按照您的示例,您可以使用 widdcard find/deppice,where:
Find = ^13Lorem[!^13]{1,}
Replace = nothing
删除以" magna aliqua"结尾的所有段落,按照您的示例,您可以使用 wildcard find/replace/repent/更换,在哪里:
Find = [!^13]@magna aliqua,^13
Replace = nothing
您不能真正将这些组合到单个查找/替换为either
的单个发现 - 只有一个可以找到的一个。