[英]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.