进行查找,但在其他地方进行替换

Do a find but make its replace elsewhere

我想在文件中搜索变量名,看看它是否以 <%= 前后的格式存在,如果是,则将其删除 eg.find 下面的变量名(即 invalidChars)并搜索它是否以格式 <%=invalidChars%> 存在并将其转换为 invalidChars

示例

var invalidChars = "getText('po.number.has.invalid.chars')" />';

/* Some random text */

alert('<%=invalidChars%> ')

我使用 var (.*?\w+).* 来查找变量名,即 invalidChars 但现在我如何在文件后面的位置替换它,即将 alert('<%=invalidChars%> ') 转换为 alert('invalidChars') 在单个或多个操作中,我如何使用在下一次搜索中获得的这个值,因为我不能使用 find <℅==℅> with

试试这个正则表达式替换。

  • 查找内容: (var\h+)([^\h=]+)(.*)<%=%>
  • 替换为:
  • 检查左下角:正则表达式。匹配换行符

点击几次替换,如果你确定它做了你想要的(也包括在涉及多个变量的更复杂的场景中):点击全部替换。如果它不起作用,请使用撤消。

如果多个var定义和它们的使用位置重叠:Replace All只会替换外面的var。继续单击“替换”或“全部替换”,直到不再进行替换(观察替换对话框的状态栏)。