如何仅从文本块的某些部分删除换行符(或回车符)?

如何仅从文本块的某些部分删除换行符(或回车符)?

每当我从格式化为有换行符(或回车符)的 PDF 文件中复制格式化的文本时,我都需要找到一种方法来删除这些换行符而不删除段落格式。

为此,我需要使用 RegEx(正则表达式)来仅删除前面没有句点的换行符。

例如,如果一串文本在句号后立即出现换行符,这显然几乎总是合法的换行符,将开始一个新段落。如果一串文本在单词中间或没有句号的单词后出现换行符,这只是我需要摆脱的不良格式的一部分。

我的问题是,我不知道如何使用 RegEx 使其仅在省略句点后面的标签的条件下删除单词中的 ^p 标签或 CRLF 或任何格式的换行符。

答案1

MS Word 的解决方案:

  1. 打开“查找和替换”(Ctrl+ H)并选中“使用通配符”选项。如果没有看到“使用通配符”选项,请点击“更多”。
  2. 将以下内容复制到“查找内容”框中:([!.])^0013
  3. 将以下内容复制到“替换内容”框中: \1
  4. 点击“全部替换”

解释:

  • [!.]表示“查找除点之外的所有符号”
  • ^0013是段落标记,因此在“查找内容”中,我们将查找每个后跟段落标记的非点符号
  • 括号表示我们将把非点符号放在内存中以供稍后使用
  • \1 在我们找到它的位置替换我们记忆的符号

请注意,不在^0013括号内,因此最终文本没有段落标记。

答案2

^l在 Word 中尝试查找并用段落标记替换手动换行符^p

答案3

因为句子结尾的标点符号比句号还多,我已经更新了hsawires 的回答到:

  1. 查找除点、问号、感叹号、右引号或冒号之外的所有符号。
  2. 此外,在某些情况下,您需要\1在“替换内容”框后添加一个空格,以避免将一行上的最后一个单词与下一行上的第一个单词合并。

MS Word 的解决方案:

  1. 打开“查找和替换”(Ctrl+ H)并选中“使用通配符”选项。
  2. 如果您没有看到“使用通配符”选项,请点击“更多”。
  3. 将以下内容复制到“查找内容”框中:([!.\?\!"':])^0013
  4. 将以下内容复制到“替换内容”框中:\1
  5. 点击“全部替换”。

解释:

[!.\?\!"':]表示“查找除点、问号、感叹号、右引号或冒号之外的所有符号。” -^0013是段落标记,因此在“查找内容”中,我们将查找每个后跟段落标记的非点符号。 - 括号表示我们将把非点符号放在内存中以供以后使用。 -\1在我们找到它的位置替换我们记忆的符号。

请注意,不在^0013括号内,因此最终文本没有段落标记。

答案4

在将地址块剪切并粘贴到电子邮件或其他文档之前,创建/修改地址块的一种更简单的方法是声明一个 3/4 行的表格,并在每行中输入地址数据。然后删除这些线条。

相关内容