簡體   English   中英

如何在 PyCharm 中使用正則表達式占位符替換 function

[英]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]代表每個TNR等等,因為它是占位符。
我不知道如何在“替換為”框中使用相同的占位符,因此不知道要寫什么:如果我重用[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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM