单词“查找”搜索以查找单词过多的句子

单词“查找”搜索以查找单词过多的句子

我想查找包含超过 25 个单词的句子,例如,两个句点之间或任何结束点 (.?!) 之间的单词超过 25 个,同时忽略逗号。

有没有什么功能可以在 100 多页的文档中自动完成此操作?

答案1

您似乎明白,文本中的句号(以及问号和感叹号)可能会造成混淆。例如,根据您的定义(“两个句号之间的单词或任何结束点(.?!)……”),以下内容:

他们是英国长期科幻电视连续剧《神秘博士》的狂热粉丝(他们喜欢称自己为 Whovians),神秘博士,会告诉你主角的名字不是“神秘博士”,而是简单地“博士”。

算作两个句子,每个句子少于 25 个单词,因为“神秘博士”。有关真正困难的更多讨论和例子真的将英文文本分解成句子,参见 如何在 Linux 上将句子分行

假设您不希望解决方案正确处理句内句号,并假设单词以空格(而不是制表符或换行符)分隔,则搜索模式如下:

<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @<[!.?\!]@ @

应该使用 Word 中的“通配符”搜索模式来查找长度超过 25 个单词的句子。

这仅<[!.?\!]@ @重复了 25 次。

  • <匹配单词的开头。我们可能不需要这个。
  • [!…]是一个字符组 — 一个不在括号中的字符。
  • [!.?\!].是除,?或之外的任意字符!。它匹配字母、数字和其他标点符号(例如引号、撇号、逗号、分号等)。请注意,!括号内的 必须转义。
  • @表示一个或多个前面的表达式,因此[!.?\!]@匹配一个单词(可能包括非终端标点符号。
  •  @是一个或多个空格。

因此<[!.?\!]@ @匹配一个单词(包括逗号等,但不包括句号等)和后面的空格。

我尝试使用(…){25,},但无法让它工作。

相关内容