[英]How to use regex placeholder in PyCharm replace function
我有一个 Python 文件,其中有很多这样的行:
df['A'] = df.T + df.N / df.R
我想用df['something']
替换每个df.something
出现,所以上面的行变成:
df['A'] = df['T'] + df['N'] / df['R']
我使用Ctrl + R激活替换功能,然后勾选Reg̲ex
选项,并通过搜索df.[AZ]
成功突出显示每个出现,因为[AZ]
代表每个T
、 N
、 R
等等,因为它是占位符。
我不知道如何在“替换为”框中使用相同的占位符,因此不知道要写什么:如果我重用[AZ]
(下图)作为占位符并写df.['[AZ]']
我得到这个:
df['A'] = df['[A-Z]'] + df['[A-Z]'] / df['[A-Z]']
我应该在底部框中写什么作为占位符?
你需要搜索
df\.([A-Z]+)
并将其替换为
df\["$1"\]
df['A'] = df["T"] + df["N"] / df["R"]
变成
df['A'] = df["T"] + df["N"] / df["R"]
您需要启用正则表达式机制(右侧最后一个)。 请记住[
, ]
和.
是正则表达式中的元字符, $1
是第一个捕获的组内容。
df\[(['"])(.+?)\1\]
并将其替换为
df.$2
不过,这仅适用于单引号。 对于双引号和单引号,请使用
df\[(['"])(.+?)\1\]
并将其替换为
df.$2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.