如何find/replace python语句多行并保持正确的缩进?

How to find/replace python statement with multiple lines and keep the correct indentation?

我想在多个 python 源文件中找到一个语句并将所有这些替换为多个语句,但我不知道如何保留正确的缩进。这是一个简单的例子:

print("Hello World!")
if i == 0:
  print("Hello World!")
    if j == 0:
      print("Hello World!")

我想用多行替换所有 print("Hello World!");:

print("Hello")
print("World")
print("!")

并保持正确的缩进,所以这是预期的结果:

print("Hello")
print("World")
print("!")
if i == 0:
  print("Hello")
  print("World")
  print("!")
    if j == 0:
      print("Hello")
      print("World")
      print("!")

这只是一个简单的示例,与我遇到的 find/replace 问题并不完全相同。我只想知道一般如何进行这种替换。有什么方法可以轻松实现这一目标? editor/IDE 有帮助吗?谢谢。

您可以使用 Visual Studio 代码或任何其他带有正则表达式的编辑器 Find-Replace

查找([ \t]*)print\("Hello World!"\)

替换print("Hello")\nprint(" World")\nprint("!")

一些编辑器(Notepad++,...)使用</code>引用捕获组</p> <p>替换<code>print("Hello")\nprint(" World")\nprint("!")