在跟踪要解析的字符串的情况下。
ford mustang,10,blue~~?bugatti veyron,13,black
我想将~~?
替换为carriage return
替换\n
只会添加字符串"\n"
如何做到这一点?
答案 0 :(得分:249)
确保在“查找和替换”对话框中选择“使用:正则表达式”:
请注意,对于Visual Studio 2010,这不适用于Visual Studio Productivity Power Tools'“快速查找”扩展程序(截至2011年7月更新);相反,您需要使用完整的“查找和替换”对话框(使用Ctrl + Shift + H或“编辑” - >“查找和替换” - >“替换文件”),并将范围更改为“当前文档”。
答案 1 :(得分:27)
您还可以在“替换为”框中尝试使用“使用正则表达式”框中的\x0d\x0a
,以使用Visual Studio查找/替换来回车+换行。
使用\n
(换行符)与\x0a
答案 2 :(得分:13)
如果设置“使用正则表达式”标志,则将翻译\ n。但请记住,您必须修改搜索词才能正常使用regexp。在你的情况下,它应该像这样“\〜\〜\?”进行转义(没有引号)。
答案 3 :(得分:10)
如果您想避免在使用正则表达式时逃避搜索和替换字符串中特殊字符的麻烦,请执行以下步骤:
请注意,即使你想为第一次搜索和替换手动匹配匹配,你也可以安全地使用“全部替换”来完成最后三步。
例如,如果要替换它:
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 { return this.SomeField; } }
→XOXOXOXO
(正则表达式关闭)。XOXOXOXO
→XOXOXOXO\nHUHUHUHU
(正则表达 )。XOXOXOXO
→public IFoo Foo { get { return this.MyFoo; } }
(正则表达式关闭)。HUHUHUHU
→public IFoo Bar { get { return this.MyBar; } }
(正则表达式关闭)。答案 4 :(得分:5)
您可以使用Multiline Search and Replace in Visual Studio macro为任务提供良好的GUI。
答案 5 :(得分:2)
只是一个小小的警告......很多环境使用或需要“\r\n”而不仅仅是“\n”。我遇到了 Visual Studio 在行尾与我的正则表达式字符串不匹配的问题,因为我省略了“\r\n”的“\r”,所以我的字符串无法与丢失的 invisible 匹配 字符。
因此,如果您要查找或替换,请考虑使用“\r”。
有关“\r”和“\n”的更多详细信息,请参阅:https://stackoverflow.com/a/3451192/4427457