如何在 Microsoft Word 2015 中替换每次出现的 [1]-[99]?

如何在 Microsoft Word 2015 中替换每次出现的 [1]-[99]?

我试图搜索方括号内的 1 到 99 之间的任何正整数,例如[1]或者 [24]。因此基本上每个实例:打开方括号,从 1 到 99 的数字,关闭方括号。或者有时是数字范围/对,例如[26-29]甚至[30,31]。我必须将所有方括号替换为普通圆括号;例如,[1]将被替换为(1)[42]将被替换为(42), ETC。

我已经看过[1-9]{1,}了 [1-9]{1,99}

另外我必须改变每一个实例我们因为我写了一篇30页的文章,我的一个同事突然加入来帮忙工作,所以......

显然根据这个文档,有以下方法:

  • <、>:位置锚点

但不知为何,我就是无法解决这个问题。任何帮助我都非常感谢,因为我必须在今天之前完成它。


笔记:Microsoft Word for Mac 版本 15.12.3

答案1

  • 进入“查找和替换”,单击“更多>>”,然后单击“使用通配符”。

    (但你已经知道了,对吧?)

  • 要按字面意思搜索通配符(模式匹配)语法中具有特殊含义的字符,请在该字符前加上反斜杠 ( \)。因此,要在文本中搜索(文字)方括号,请使用\[\]

  • 零是有效数字,因此必须使用[0-9]而不是[1-9]

    • 如果您的文档中包含英语以外的语言,尤其是罗马字母以外的字母(例如阿拉伯语或中文), [0-9] 可能匹配那些外文字母中的数字。(或者甚至字母以及那些外文字母中的其他符号。)它 可能使用更安全[0123456789]
  • 因此,要匹配任何整数(非负整数),请使用[0-9]{1,}[0-9]@

  • 要匹配 0 至 99 之间的任何整数,请使用[0-9]{1,2}

    • 这将匹配0。如果 不是 匹配0对你来说很重要,请这么说。
    • 这还将匹配以零开头的两位数(即,,,,  ... 01)。而且,就此而言,  。再次说明这是否是一个严重的问题。02030900
  • 使用括号(  (... ) )来分隔捕获组或表达式。

因此,简单搜索方括号中的一位或两位数字,使用\[[0-9]{1,2}\]

但是,如果你想要执行“查找和替换”,并替换[42]为,那么查找并替换为。这有点令人困惑。在“查找内容”字符串中(为清晰起见已展开):(42)\[([0-9]{1,2})\](\1)

\[    (    [0-9]{1,2}    )    \]
      ↑                  ↑

括号(突出显示)界定了一个捕获组。在“替换为”字符串中:

(    \1    )

括号是要插入的文字括号字符,\1表示“获取第一个捕获组匹配的内容(即数字,不带括号),并将其插入到这里”。

要对数字范围执行相同操作,只需找到\[[0-9]{1,2}-[0-9]{1,2}\](然后再次替换为 (\1)。对于以逗号分隔的数字对也是如此: \[[0-9]{1,2},[0-9]{1,2}\]。 


    为了给出“查找和替换”中括号的另一个示例(希望更清楚),假设您有文本

    Jack loves cats.
    

    并且你“发现”

    Jack loves (*s).
    

    和“替换为”

    (But Jill hates \1.)
    

    结果是

    (But Jill hates cats.)
    

 


至于问题的第二部分:改变每一个到 我们,搜索<I>并全部替换为 We。除非您的整个文档都是以标题大小写编写的,否则请进行第二遍搜索,搜索<We>(标题大小写),并将除 we句子第一个单词之外的所有单词替换为 (小写)。

实际上,搜索<I> 并全部替换为 we(小写),然后再搜索<we>(小写),并We在需要替换的地方用(标题大小写) 替换,这样工作量可能会更少。句子的第一个单词。可以使用通配符自动执行此操作,如下所示

^013we>         ⇒   ^pWe

([.\!?] @)we>   ⇒   \1We

但我还没有彻底测试过。

答案2

解决方案

我发现了一些非常有用的东西博客

  • \[*\]

这将查找括号和所有括起来的文本。圆括号也是如此:

  • \(*\)

相关内容