我需要使用regexp重新塑造我的数据框,特别是这种线
X21_GS04.A.mzdata
Run Code Online (Sandbox Code Playgroud)
必须成为:
GS04.A
Run Code Online (Sandbox Code Playgroud)
我试过
pluto <- sub('^X[0-90_]+','', my.data.frame$File.Name, perl=TRUE)
Run Code Online (Sandbox Code Playgroud)
它有效; 比我试过
pluto <- sub('.mzdata$','', my.data.frame$File.Name, perl=TRUE)
Run Code Online (Sandbox Code Playgroud)
它也有效.
问题是我不知道如何将两个代码合二为一,我尝试了这样的脚本
pluto <- sub('^X[0-90_]+ | .mzdata$','', my.data.frame$File.Name, perl=TRUE)
Run Code Online (Sandbox Code Playgroud)
但没有任何意义.有人能跟我说错吗?
最好的Riccardo
你所追求的正则表达式是这样的:
^X\d+_(.*)\.mzdata$
Run Code Online (Sandbox Code Playgroud)
这将匹配您的整个表达式并捕获您要在组中保留的部分.您现在可以通过\1(对捕获组的引用)替换它.
在R中,这将是:
result <- sub('^X\\d+_(.*)\\.mzdata$', '\\1', my.data.frame$File.Name, perl=TRUE)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
812 次 |
| 最近记录: |