主要答案:

主要答案:

在 Microsoft Word 2007 中发生复制/粘贴错误后,我最终得到了如下文本:

This line   breaks up here

continues here, and    so on

here, when    it should all be

in a    single line without

all the random    whitespace.

我确认每行之间都有段落分隔符和额外的空格 - 可能是由于原始源中的硬编码换行符造成的。

  1. 有没有一种(最好是简单的)方法可以在 Microsoft Word 中合并段落?

  2. 有没有办法重新格式化段落,以便删除多余的空格?我可以更改刷新样式,但空格仍然存在。

我(显然?)没有使用过 Word,更像是 TeX 人士,但我已经在 Google 上搜索并抓取菜单几个小时了,但还没有找到解决方案......

答案1

要删除多余的空格,您可以执行查找/替换,在查找框中输入两个空格,在替换框中输入一个空格。然后反复运行该操作,直到找不到任何内容。但是,如果您有意将两个或多个空格分组,这也会将它们转换为单个空格。但是,通常即使在句子之间也不需要两个空格,除非您使用等宽字体(请参阅这个问题)。

边注: 当我将内容复制并粘贴到 Word 中(例如从网页或 PDF 文档中)时,我发现通过确保复制并粘贴纯文本而不包含任何来自源的格式信息,可以避免一些格式问题。我以前的做法是先将其粘贴到空白记事本文档中,然后再从记事本复制到 Word 中。在 Word 2010 中,您可以通过右键单击并使用粘贴选项下的“仅保留文本”选项来跳过该步骤。不过,这可能对您没有帮助,因为您复制的源中似乎有实际的额外字符。

编辑:

我注意到您提到了使用宏的可能性,并写了一个。这是 VBA 代码:

Sub FixParagraph()
'
' FixParagraph Macro
'
'
    Dim selectedText As String
    Dim textLength As Integer

    selectedText = Selection.Text

    ' If no text is selected, this prevents this subroutine from typing another
    ' copy of the character following the cursor into the document
    If Len(selectedText) <= 1 Then
        Exit Sub
    End If

    ' Replace all carriage returns and line feeds in the selected text with spaces
    selectedText = Replace(selectedText, vbCr, " ")
    selectedText = Replace(selectedText, vbLf, " ")

    ' Get rid of repeated spaces
    Do
        textLength = Len(selectedText)
        selectedText = Replace(selectedText, "  ", " ")
    Loop While textLength <> Len(selectedText)

    ' Replace the selected text in the document with the modified text
    Selection.TypeText (selectedText)

End Sub

此宏将所选文本中的所有回车符和换行符替换为空格,然后删除重复的空格。因此,您只需突出显示要修复的文本,然后运行宏即可。由于我没有 Word 2007,因此我只在 Word 2010 上测试过它,但我相信它在 2007 中也应该有效。

要在 Word 2007 中将宏代码放入文档中,请首先按照“显示开发工具选项卡”上的说明进行操作这一页。然后按照同一页上的“从头开始编写宏”说明进行操作(我FixParagraph在上面使用了宏的名称)。进入代码编辑器后,只需复制上面的代码主体即可。同一网页上还有有关如何运行宏的说明。

答案2

  1. 按 Ctrl+H 打开查找和替换
  2. 点击代替标签
  3. 点击找什么然后是字段特别的
  4. 选择段落标记(您将在“查找”字段中看到 ^p)
  5. 在里面用。。。来代替字段中您无需输入任何内容。

问题是这将替换所有段落......

你可以玩一下这些特殊字符。祝你好运!

答案3

主要答案:

(灵感来自尼库泽切鲁的答案)

  1. 选择您想要删除段落分隔符的文本
  2. Ctrl-H
  3. 寻找:^p (段落标记)
  4. 用适当的内容替换(例如仅空格)
  5. 点击全部替换它会告诉您在选择中进行了多少次替换以及是否要继续进行选择:
  6. 点击

就是这样,现在您选择的所有段落标记都被替换了。

奖励:如果您不知道如何使不可打印的符号可见,请按照以下步骤操作:

您需要使不可打印的符号可见 - 单击工具栏中的此图标:在此处输入图片描述

现在您将看到段落标记、空格等:

在此处输入图片描述

根据需要删除段落标记(图中黄色突出显示)以修复文本。然后,您可以通过段落属性根据需要格式化行间距。

PS 屏幕截图来自 Word 2010,但任何 Word 版本中的符号和功能都是相同的。

相关内容