繁体   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