gpt4 book ai didi

regex - R-正则表达式问题

转载 作者:行者123 更新时间:2023-12-04 13:54:19 28 4
gpt4 key购买 nike

我需要使用正则表达式重新塑造我的数据框,特别是这种线

X21_GS04.A.mzdata

必须变成:
GS04.A

我试过了
pluto <- sub('^X[0-90_]+','', my.data.frame$File.Name, perl=TRUE)

它有效;比我试过的
pluto <- sub('.mzdata$','', my.data.frame$File.Name, perl=TRUE)

它也有效。

问题是我不知道如何将这两个代码合二为一,我尝试了这样的脚本
pluto <- sub('^X[0-90_]+ | .mzdata$','', my.data.frame$File.Name, perl=TRUE)

但什么也没有出现。
谁能告诉我我哪里错了??

最好的
里卡多

最佳答案

你所追求的正则表达式是这样的:

^X\d+_(.*)\.mzdata$

这将匹配您的整个表达式并捕获您想要保留在组中的部分。您现在可以将其替换为 \1 (对捕获组的引用)。

在 R 中,这将是:
result <- sub('^X\\d+_(.*)\\.mzdata$', '\\1', my.data.frame$File.Name, perl=TRUE)

关于regex - R-正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6788079/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com