如何在 MS Word 中对“~~~”进行换行?

如何在 MS Word 中对“~~~”进行换行?

我有一些句子

Lorem ipsum dolor sit amet, consectetur adipiscing elit. "Sed neque libero, pretium ac elit non, condimentum ullamcorper eros"Sed semper luctus dui. Duis mollis congue urna.

或者

"Lorem ipsum dolor sit amet, consectetur adipiscing elit"Sed neque libero, pretium ac elit non, condimentum ullamcorper eros. 

或者

Lorem ipsum dolor"sit amet, consectetur"adipiscing elit. 

我希望他们像

Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
"Sed neque libero, pretium ac elit non, condimentum ullamcorper eros"
Sed semper luctus dui. Duis mollis congue urna.

或者

"Lorem ipsum dolor sit amet, consectetur adipiscing elit"
Sed neque libero, pretium ac elit non, condimentum ullamcorper eros. 

或者

Lorem ipsum dolor 
"sit amet, consectetur" 
adipiscing elit. 

整个文件的文本。但我不确定是否有任何好的策略来使用查找和替换或任何其他方法对“~~~”内容进行此行更改。

问题是,有很多部分在“”之前或之后没有空格或点。这使得很难使用查找和替换选项来完成这项工作......

答案1

标题中的“~~~”不太清楚。我认为您想要做的是找到引用文本的字符串,并将每个字符串放在自己的段落中,与之前或之后的内容分开。常规搜索和替换无法完成这项任务。但是,正则表达式可以快速完成这项工作。虽然它不如大多数人习惯的那么好(强大),但 Microsoft 确实有一个复杂的通配符表达式系统,看起来像正则表达式。您的目标很容易在该系统的能力范围内。

在 Word 功能区上,单击Find并选择Advanced Find...。在对话框中,单击More按钮,使对话框变大,显示更多选项。选中“使用通配符“。这将允许您使用 Microsoft 版本的正则表达式。

在这种情况下,您需要一个双引号,后面跟着任何非双引号的内容,然后再加一个双引号。棘手的部分是引号之间的文本。符号[]形成一组要匹配的字符,但它只匹配一个字符。我们可以使用范围,例如[A-Za-z]所有大写字母和小写字母,但也可以有其他字符,例如数字和逗号。相反,我们可以使用不是符号!和双引号可匹配任何非双引号字符。像这样,[!"]

这将匹配任何字符,就像?通配符一样,它不是双引号。为了使其匹配更多,我们使用计数控制{}。它既可以用来指示要匹配多少个,{4}匹配四个字符,也可以设置范围{3,10}匹配至少三个,最多十个。如果最大值不在范围内,它的作用就像*并匹配尽可能多的字符,{5,}匹配五个或更多。在这种情况下,我们需要匹配至少一个,并且尽可能多,所以它是{1,}

综上所述,我们想要的模式是"[!"]{1,}"。最后一部分是让我们能够使用在搜索中找到的内容作为替换文本的一部分。为此,我们在想要保留的内容周围添加(和,例如,然后我们可以在替换部分中将其用作,意思是“在搜索模式中找到的第一个组”。可以有更多的组,但我们现在不需要它们。)("[!"]{1,}")\1

最后一点是,在 Word 中,段落符号不能用于搜索和替换,但它们会^p在“替换为”框中为您提供替换。即插入符号^( Shift+ 6) 和小写字母p。在“查找内容”框中,您必须使用数字等价物,即^13

接下来是您的决策点。一些引用的文本可以位于段落的开头、段落的结尾或段落内。如果您不介意稍后查找额外的行,您可以使用以下方法一次性完成所有操作

  • 找什么:("[!"]{1,}")
  • 用。。。来代替:^p\1^p

另一方面,如果您想避免删除多余的空白行的工作,并且愿意使用多个(3)替换命令,则可以使用适当的替换搜索每种可能性。

在本段开头:

  • 找什么:^13("[!"]{1,}")([!^13])
  • 用。。。来代替:^p\1^p\2

在本段末尾:

  • 找什么:([!^13])("[!"]{1,}")^13
  • 用。。。来代替:\1^p\2^p

段落内:

  • 找什么:([!^13])("[!"]{1,}")([!^13])
  • 用。。。来代替:\1^p\2^p\3

另一种可能性是,如果您知道没有任何空白段落,则使用第一个选项,然后查找并删除多余的空白段落:

  • 找什么:^13{2}
  • 用。。。来代替:^p

需要注意的是,我在所有工作中都使用了段落,但您可能打算在引用和未引用的文本部分之间使用手动回车或换行符。在这种情况下,如果您想添加新行,请使用^l(小写字母 ell)而不是“替换为”框中的新行,如果您需要查找新行,请在“查找内容”框中^p使用(eleven)。^11

如果您想了解有关 Word 中通配符搜索的更多功能,可以参阅 Microsoft MVP 的页面使用通配符查找和替换字符

可与搜索/替换工具一起使用的控制代码

Code    Notes
-----   -------
^1      In-line picture
^2      Auto referenced footnotes
^5      Annotation mark
^9      Tab
^11     New line
^12     Page or Section break
^13     Paragraph break / 'carriage' return
^14     Column break
^19     Opening field brace (when field braces are visible)
^21     Closing field brace (when field braces are visible)
?       Question mark
^?      Any single character (not valid in the Replace box)
^-      Optional hyphen
^~      Non-breaking hyphen
^^      Caret character
^#      Any digit
^$      Any letter
^&      Contents of 'Find What' box (Replace box only)
^+      Em dash  (not valid in the Replace box)
^=      En dash  (not valid in the Replace box)
^u8195  Em Space Unicode character value search (not valid in the Replace box)
^u8194  En Space Unicode character value search (not valid in the Replace box)
^a      Comment (not valid in the replace box)
^b      Section break (not valid in the replace box)
^c      Replace with Clipboard contents (Replace box only)
^d      Field
^e      Endnote Mark (not valid in the Replace box)
^f      Footnote Mark (not valid in the Replace box)
^g      Graphic (In Line Graphics Only). In Word 2007 a forward slash /
        also appears to find in-line graphics. This appears to be an 
        unintentional bug.
^l      New line -
^m      Manual Page Break
^n      Column break
^t      Tab -
^p      Paragraph Mark -
^s      Non-breaking space
^w      White space (space, non-breaking space, tab); not valid in 
        the Replace box
^nnn    Where "n" is an ASCII character number

        Note: ASCII codes below 128 were standardized a long time ago, 
        before the introduction of Windows operating systems. The upper
        codes were used for OS-specific, localized, or vendor-specific 
        stuff. When DOS code pages were replaced by Windows code pages,
        a leading zero was used to indicated the difference.
        Thus ^32 and ^032 will both represent a space character, but
        ^147 will represent ô and ^0147 will represent “
^0nnn   See above (Produces ASCII on Macintosh).
^unnnn  Unicode character search where "n" is a decimal number corresponding
        to the Unicode character value.

Note:   To search for a specific field, such as an XE (Index Entry) field, 
        use the following syntax:
        ^19 field name

相关内容