簡體   English   中英

R正則表達式在rstudio中查找和替換代碼

[英]R regex to find and replace code in rstudio

我想對代碼腳本進行一些更改。 我需要改變某些數據幀的子集化方式。 具體來說,我需要一種使用正則表達式來編輯R studio的代碼的方法。

我需要轉換幾個遵循這種格式的數據幀,

 variablex_indicatory$n[i]

對此,

 variablex_indicatory$n[variablex_indicatory$n==i]

由於我有許多變量和指標的組合(例如variable1_indicator2variable3_indicator1等)。 我需要的是能夠替換$n[i]variablex_indicatory$n ==

所以我需要在正則表達式中指定,找到$n[並替換為$n[whatever is before $n goes here ==

我會離開i不變,因為它並不需要被改變。

如何做到這一點超過了我目前對正則表達式的了解(顯然)我希望有人可以提供幫助,再次提前感謝,如果我不夠清楚,請告訴我。

假設每一行看起來大致如下: variablex_indicatory$n[i] ,那么你可以將這個正則表達式放在查找框中: (^.+)(\\$n\\[)(i\\])和替換框中的這個正則表達式: \\1\\2\\1==\\3並單擊“全部替換”。

如果你有更復雜的代碼,那么你需要更好地定義第一組(我的例子從行的開頭選擇到美元符號( $ ))。 這是第一組的一個變體:( (variab.+) 您實際使用的將取決於您的具體情況。

試試這個:

string<-"variablex_indicatory$n[i]"
first<-sub('\\[.*]','',string)
second<-sub('.*\\[(.*)\\]','\\1',string)
paste(first,'[',first,'==',second,']',sep='')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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