Visual Studio中使用正则表达式精准替换引号内指定字符串片段
解决Visual Studio正则替换引号内指定部分的问题
我懂你的困扰——之前的正则会把整个引号内的字符串全选中替换,但你只想精准换掉其中的sale部分对吧?这时候我们可以用捕获组来保留sale前后的内容,只针对目标部分做替换。
具体操作步骤如下:
- 打开VS的查找替换对话框(快捷键
Ctrl+H),记得勾选右下角的「使用正则表达式」(图标是.*)。 - 在「查找内容」中输入这个正则:
拆解下这个表达式的作用:(".*?)sale(.*?")":匹配开头的引号;.*?:非贪婪匹配任意字符,直到遇到后面的sale,这部分会被捕获到第一个组$1里;sale:就是你要替换的目标文本;.*?":非贪婪匹配sale之后的内容直到结尾的引号,这部分被捕获到第二个组$2里。
- 在「替换为」中输入你想要替换成的内容,比如你想把
sale换成order,就写:
这里的$1order$2$1和$2会自动引用之前捕获的前后内容,这样就只会替换掉sale,而保留引号内的其他部分。
举个实际例子:如果原字符串是"saleCustomer",用这个方法替换后会变成"orderCustomer",完美实现只替换指定部分的需求。
内容的提问来源于stack exchange,提问作者Hassan Shouman
相关产品推荐
相关产品推荐

