Visual Studio中的多行查找和替换

haw*_*bsl 72 ide replace multiline visual-studio

可以吗?我们正在使用VS2005和VS2008以及VS2010.

我不是指正则表达式 - 它们有自己的位置 - 但是普通的旧文本可以找到和替换.我知道我们可以使用\n标签使用正则表达式(在紧要关头),但不要纠结于正则表达式转义字符,还有可读性问题.

如果不能做到人们使用的简单(简单)(免费)替代方案?这并不涉及敲响我们自己的宏.

小智 65

我终于找到了..

无需下载和加载任何外部宏.

它至少在内置宏的Visual Studio 2008中工作.:)

步骤:
1)选择要查找的文本.
2)按"Alt + F8"或打开"工具 - >宏 - >宏浏览器"
3)双击"Sample - > Utilities - > FindLine".(它将打开查找框,并在"查找"字段中加载您的选择.不要担心"查找"字段中显示的截断文本.相信我,字段拥有一切......显示它的MS方式可能是......: ))
4)单击"查找并替换"对话框中的"快速替换"按钮.输入您的替换文字.
5)根据您的要求点击3个按钮中的任何一个......并完成它.:)

华友世纪..它的工作..可能不是一个直接的方式去做但你知道与MS ..没有什么是直截了当的容易.. :)

  • 如果您的替换文本也跨越多行,我认为这不起作用.粘贴到"替换为"框时,它会被截断. (13认同)
  • 在VS2010中不起作用,只看第一行 (3认同)
  • 宏在以下Visual Studio版本中已经停用,因此不再起作用。 (2认同)

小智 18

您可能需要查看此博客条目:

Visual Studio中的多行搜索和替换

提供宏代码以逃避搜索并显示VS查找和替换对话框.

  • 此宏已转换为VS扩展,因此它现在可以在VS 2012和2013中使用.请访问http://www.helixoft.com/blog/multiline-search-and-replace-in-visual-studio-2013-2005.html (3认同)
  • @PeterMacej截至今天有一个答案链接到你的分机 - 我已经投票 - 但理想情况下你发布自己的答案,我会接受它 - 截至2014年你的分机可能应该***接受这个答案流行的问题 (2认同)

woo*_*hoo 15

今天在Visual Studio 2012中有效:

fooPatternToStart.*(.*\n)+?.*barPatternToEnd
Run Code Online (Sandbox Code Playgroud)

了解该(.*\n)+?部分如何跨多行进行匹配,非贪婪.
fooPatternToStart是你的起跑线上的一些正则表达式模式,而barPatternToEnd你的模式是在下面的另一行找到的,下面可能有很多行......

例如找到这里.

简单有效:)

注意: VS2012 之前,有效的模式是:fooPatternToStart.(.\n)+@.*barPatternToEnd

  • 解释得很好,并且完全按照盒子上的说明操作。鉴于即使在发布时宏也早已死亡,我相信这应该是公认的答案。 (2认同)

Phi*_*gan 12

您可以通过单击"查找和替换"对话框中的"使用正则表达式"复选框来搜索多行表达式.然后用换行符表示换行符\n.

在此输入图像描述

  • 我们如何用多行文本替换?有任何想法吗? (5认同)
  • 如果您的文档隐藏了回车,您可能需要将 `\n` 更改为 `\r\n`。 (2认同)