Visual studio 查找和替换-添加回车符或换行符

Visual studio 查找和替换-添加回车符或换行符,visual-studio,replace,carriage-return,Visual Studio,Replace,Carriage Return,在以下要分析的字符串的情况下 ford mustang,10,blue~~?bugatti veyron,13,black 我想用回车替换~~? 替换为\n只需添加字符串“\n” 如何做到这一点?如果设置“使用正则表达式”标志,则\n将被翻译。但请记住,您必须修改您的搜索词,使其对regexp友好。在您的情况下,应该像这样转义“\~\~\?”(无引号)。确保在“查找和替换”对话框中选择“使用:正则表达式”: 请注意,对于VisualStudio2010,这在“快速查找”扩展中不起作用(截至2

在以下要分析的字符串的情况下

ford mustang,10,blue~~?bugatti veyron,13,black
我想用
回车替换
~~?

替换为
\n
只需添加字符串
“\n”

如何做到这一点?

如果设置“使用正则表达式”标志,则\n将被翻译。但请记住,您必须修改您的搜索词,使其对regexp友好。在您的情况下,应该像这样转义“\~\~\?”(无引号)。

确保在“查找和替换”对话框中选择“使用:正则表达式”:

请注意,对于VisualStudio2010,这在“快速查找”扩展中不起作用(截至2011年7月的更新);相反,您需要使用完整的查找和替换对话框(使用Ctrl+Shift+H或编辑-->查找和替换-->替换文件),并将范围更改为“当前文档”。

您可以使用该对话框为任务提供良好的GUI


您也可以在选中“使用正则表达式”框的“替换为”框中尝试使用Visual Studio查找/替换来获取回车+换行符。
使用
\n
(换行符)与
\x0a

相同如果要避免在使用正则表达式时转义搜索和替换字符串中的特殊字符的麻烦,请执行以下步骤:

  • 搜索原始字符串,并将其替换为“UniqueString42”,并使用正则表达式关闭
  • 搜索“UniqueString42”并将其替换为“UniqueString42\nUniqueString1337”,正则表达式on
  • 搜索“UniqueString42”,并将其替换为替换的第一行(通常是原始字符串),并使用正则表达式off
  • 搜索“UniqueString42”,并将其替换为替换的第二行,使用正则表达式关闭
  • 请注意,即使您希望在第一次搜索和替换时手动进行pich匹配,您也可以在最后三个步骤中安全地使用“全部替换”

    例子 例如,如果要替换此项:

    public IFoo SomeField { get { return this.SomeField; } }
    
    因此:

    public IFoo Foo { get { return this.MyFoo; } }
    public IBar Bar { get { return this.MyBar; } }
    
    您将执行以下替换操作:

  • public IFoo SomeField{get{返回this.SomeField;}}
    → <代码>xoxo
  • (regex关闭
  • xoxoxo
    xoxoxo\nHUHUHUHU
    (regexon
  • xoxoxo
    public IFoo Foo{get{return this.MyFoo;}}
    (regexoff
  • huhuhu
    public IFoo-Bar{get{return this.MyBar;}}
    (regexoff

  • 只是一个小小的警告。。。许多环境使用或需要“\r\n”,而不仅仅是“\n”。我遇到了一个问题,Visual Studio在行尾没有匹配我的正则表达式字符串,因为我省略了“\r\n”的“\r”,所以我的字符串无法与缺少的不可见的字符匹配

    这样,如果您正在查找或替换,请考虑“\r”。


    有关“\r”和“\n”的详细信息,请参阅:

    使用“播放”“查找文本”右侧的按钮非常方便,如果您试图匹配特殊字符(如括号),请不要忘记在启用正则表达式时使用(
    \)
    字符需要在正则表达式中转义,因为它表示前面的元素是可选的。因此,正确的“查找内容”文本是
    ~\?
    ,问号用反斜杠转义。您给出的答案适用于示例文本,因为它会贪婪地找到第二个瓷砖并使用它,但是如果文本中的任何位置也存在一个瓷砖,它也会被换行符不正确地替换。如果安装了Productivity Power Tools,您仍然可以按ctrl+SHOT+h,然后按ctrl+h打开本机Visual Studio查找/替换窗口。请注意,如果选择了“使用正则表达式”,则可以使用“\n”查找(和替换)换行符也一样。@Alex如果你有一个解决这个问题的实用方法,可以避免在将文本转换为正则表达式时手动退出搜索和替换文本,并在接下来的10分钟内修复以这种方式创建的怪物,我将非常高兴听到这个消息,因为我的答案只是一个丑陋的破解。但是正如你所看到的,在没有额外插件的普通Visual Studio上工作的所有其他答案都需要使用正则表达式,从而避免使用简单文本。我的意思不是不好。我的道歉我忘了放一个笑脸:D作为一个解决方案,不,我没有一个涉及VS的。但我发现任何支持正则表达式(记事本++等)的体面的外部编辑器都工作得很好。UltraEdit是搜索替换之王-在这里,你只需标记这些行并开始搜索,就可以搜索换行符、换行符或任何东西。-至于替换,请简单地输入^n代表\n、^r代表\r和^t代表\t-如果只有VS2010可以这样做:-)您可以随时访问以查看搜索字符串是否匹配文字字符或是否被解释为正则表达式控制字符。正则表达式中不需要转义“~”。这是一个文字字符。这是不正确的。如果没有一些额外的步骤,似乎无法与Visual Studio 2017一起工作,例如,必须单击“在文件中查找”,然后修改该对话框范围,快捷方式默认为f#interactive now。查找:\r\n替换:mytext\r\n使用正则表达式。谢谢,我想弄明白这一点,真是疯了(Unix背景)。