匹配特定字符串后的所有空格
Match all spaces after a particular string
在 VsCode 中对大量文件进行查找和替换。我想替换一组引号后的所有 space,但只替换特定行。
我可以很容易地使用 \s+
找到所有 spaces,但我不明白如何在特定字符串(一个特定行)之后仅捕获 spaces .我试过正面看后面,但我只能让它匹配第一个 space,但我需要匹配该行上的所有 space。
示例代码:
variable = "01 - Testing this thing"
我需要找到引号之间的所有 space 并将其替换为下划线,但我无法获得任何正则表达式来匹配引号之间的所有 space。我可能也想替换破折号 (-),但 space 更重要,我正在努力弄清楚。
您搜索匹配的字符串,它在引号之间有一个 space。替换为 space 前后的内容,但 space 现在是下划线。您必须像字符串中的最大数量 od spaces 一样频繁地应用它。无法在 1 个正则表达式搜索替换中完成。
在搜索栏中
查找正则表达式:
(variable = "[^" ]*) ([^"]*")
替换:
_
然后应用全部替换(按钮)和刷新(按钮)直到找不到更多搜索。
这是一个非常好的工作流程。
- 打开搜索编辑器(从命令面板或为其设置键绑定)。
- 使用这个正则表达式
(?<=variable = ")[^"]*
。
这将在您的工作区或您在 file to include
过滤器中指定的任何文件夹中的所有文件中找到所有匹配项。我建议将上下文行选项设置为 0
.
- Ctrl+Shift+L 到 select 所有匹配项。匹配项是
01 - Testing this thing
部分。
- 现在在该搜索编辑器选项卡中进行常规查找 - 启用
Find in Selection
选项。
- 只需查找
并将全部替换为 _
即可进行所有这些更改(仅在搜索编辑器中)。
- 要将这些更改应用到包含初始搜索结果的所有文件,请使用扩展 search-editor-apply-changes
Apply Search Editor Changes...
命令。
然后您可以检查更改是否符合您的预期并保存所有。它将打开所有受影响的文件,以便您检查它们。
似乎只有几个步骤,但请注意第一个正则表达式可以非常简单。然后你在那些 select 离子中做一个简单的 find/replace。演示:
在 VsCode 中对大量文件进行查找和替换。我想替换一组引号后的所有 space,但只替换特定行。
我可以很容易地使用 \s+
找到所有 spaces,但我不明白如何在特定字符串(一个特定行)之后仅捕获 spaces .我试过正面看后面,但我只能让它匹配第一个 space,但我需要匹配该行上的所有 space。
示例代码:
variable = "01 - Testing this thing"
我需要找到引号之间的所有 space 并将其替换为下划线,但我无法获得任何正则表达式来匹配引号之间的所有 space。我可能也想替换破折号 (-),但 space 更重要,我正在努力弄清楚。
您搜索匹配的字符串,它在引号之间有一个 space。替换为 space 前后的内容,但 space 现在是下划线。您必须像字符串中的最大数量 od spaces 一样频繁地应用它。无法在 1 个正则表达式搜索替换中完成。
在搜索栏中
查找正则表达式:
(variable = "[^" ]*) ([^"]*")
替换:
_
然后应用全部替换(按钮)和刷新(按钮)直到找不到更多搜索。
这是一个非常好的工作流程。
- 打开搜索编辑器(从命令面板或为其设置键绑定)。
- 使用这个正则表达式
(?<=variable = ")[^"]*
。
这将在您的工作区或您在file to include
过滤器中指定的任何文件夹中的所有文件中找到所有匹配项。我建议将上下文行选项设置为0
. - Ctrl+Shift+L 到 select 所有匹配项。匹配项是
01 - Testing this thing
部分。 - 现在在该搜索编辑器选项卡中进行常规查找 - 启用
Find in Selection
选项。 - 只需查找
_
即可进行所有这些更改(仅在搜索编辑器中)。 - 要将这些更改应用到包含初始搜索结果的所有文件,请使用扩展 search-editor-apply-changes
Apply Search Editor Changes...
命令。
然后您可以检查更改是否符合您的预期并保存所有。它将打开所有受影响的文件,以便您检查它们。
似乎只有几个步骤,但请注意第一个正则表达式可以非常简单。然后你在那些 select 离子中做一个简单的 find/replace。演示: