在 Notepad++ 中从电影/电视成绩单中提取引文

nut*_*man 1 notepad++ text-editors

我有一个 3 小时的纪录片的抄本,里面有我想分享的名言。成绩单很大,因此手动完成它会花费很长时间。

所以基本上,我只想从成绩单中删除所有文本,除了引号之间的文本:删除“保持”删除。

我很确定你可以在 Notepad++ 中做到这一点,我只是不知道如何。有人可以帮忙吗!

Dev*_*ons 5

这个问题的解决方案在于使用RegEx,这是一种根据一组规则匹配文本部分的工具。您的规则相当简单 - 捕获两个引号之间的所有内容。我在 Regex 方面不是最出色的,但我想出了一个似乎与您正在寻找的解决方案相匹配的解决方案。

我建议使用Sublime编辑器来执行此操作 - 首先,我无法在 N++ 中轻松使用它,其次,Sublime 真的很棒!

以下是提取报价的方法。

  1. 在 Sublime 中打开要从中提取的文件。
  2. 点击ctrl+f打开屏幕底部的查找工具。
  3. 点击带有.*符号的查找工具最左侧的按钮。这将启用 RegEx 匹配。
  4. 在查找栏中,键入: "[^"]+"
  5. 在查找工具的最右侧,单击 Find All
  6. 点击ctrl+c以复制所有选择。
  7. 打开一个新文件并点击ctrl+v粘贴所有选定的文本。

正则表达式说明

我将把表达式分成多个部分。

"- 这开始匹配以双引号开头的文本。
[^"]- 这匹配所有不包含另一个双引号的文本 - 很重要,因为如果我们匹配引号,我们将在第一个引号之后开始匹配文件中的所有内容!不是我们想要的。该^符号是 RegEx 中的否定字符 - 它表示匹配接下来的内容。
+"- 强制我们只匹配最终以另一个双引号结尾的文本。这可以防止我们将文档中的最后引用与文档末尾进行匹配,并结束我们之前开始的所有匹配,而不会溢出到我们不想匹配的内容中。

我想有更漂亮的方法可以做到这一点,但我也希望这涵盖了您的需求。如果您对此有任何问题,请告诉我!

哦,作为最后一点,我推荐 Sublime 的部分原因是因为它支持多个光标,这使它可以轻松地同时选择文本的不同部分。尝试打开一个文档并ctrl+middle click在几个不同的位置输入,然后开始输入。

编辑

哈哈,我完全忽略了在 Notepad++ 中最明显的地方——查找工具——内置 RegEx。你可以用几乎相同的方式来做,但没有一个很好的方法来选择所有的文本。最简单的就是点击“在当前文档中查找所有内容”,然后在底部的查找窗口中选择所有生成的文本。但这并不像 Sublime 管理它的方式那么漂亮。