Visual Studio - 如何替换文本并保留大小写

9
在Visual Studio(2010)中使用查找和替换对话框,可以替换一些文本,并保留要替换的文本的大小写。例如,我想将“foo”更改为“bar”,但在我的代码中有Foo、foo和FOO。我希望替换后分别为Bar、bar和BAR。可能需要使用正则表达式功能,但我需要帮助才能实现。编辑:我知道我可以设置匹配大小写选项,但该选项只限于替换与搜索项大小写相匹配的文本。目前我是这样做的,但是必须进行三次替换——foo、Foo和FOO,这很烦人。

1
请在以下链接中为Visual Studio的大小写保留搜索和替换功能请求点赞:https://developercommunity.visualstudio.com/idea/580810/case-preserving-search-replace.html - thecoolmacdude
2个回答

4
只需要展开“查找和替换”对话框的“查找选项”区域,勾选“区分大小写”复选框即可。
关于该对话框的完整文档可以在这里找到:http://msdn.microsoft.com/en-us/library/87a13zt0.aspx
匹配大小写 - 只显示通过内容和大小写都匹配的查找字符串实例。例如,使用选择了“区分大小写”的“MyObject”搜索将返回“MyObject”,但不会返回“myobject”或“MYOBJECT”。
编辑:(如下澄清)
我不知道有什么简单的方法能做到你想做的。可能可以构建一个正则表达式来实现这一点,但我认为在这种情况下进行3次搜索和替换比使用正则表达式更快、更容易且更少出错。

1
该选项的作用仅限于将替换限制为与搜索词匹配的大小写。目前我是这样做的,但是需要进行三次替换 - foo,Foo和FOO,这很烦人。 - Martin
+1 对于更快、更简单和更少出错的编程来说,正则表达式是非常有吸引力的,但也可能存在风险。 - Shaun Luttin

1

我认为,如果您使用“匹配大小写”= true,则可以将“Foo”替换为“Bar”,将“foo”替换为“bar”


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接