r语言 - 如何让不同长度的字符串的最后一部分以 ".nc" 结尾



我有几个下载链接(即字符串(,每个字符串都有不同的长度

例如,假设这些假链接是我的字符串:

My_Link1 <- "http://esgf-data2.diasjp.net/pr/gn/v20190711/pr_day_MRI-AGCM3-2-H_highresSST_gn_20100101-20141231.nc"
My_Link2 <- "http://esgf-data2.diasjp.net/gn/v20190711/pr_-present_r1i1p1f1_gn_19500101-19591231.nc"

我的目标:

A(我只想让每个字符串的最后一部分以.nc结尾,并得到以下结果:

pr_day_MRI-AGCM3-2-H_highresSST_gn_20100101-20141231.nc
pr_-present_r1i1p1f1_gn_19500101-19591231.nc

B(我只想在.nc之前有每个字符串的最后一部分,并得到以下结果:

pr_day_MRI-AGCM3-2-H_highresSST_gn_20100101-20141231
pr_-present_r1i1p1f1_gn_19500101-19591231

我试图在网上找到一种方法,但我失败了。似乎这可以在 Python 中完成,如下所述:

如何在URL中获取最后一个斜杠之后的所有内容?

有谁知道 R 中的相同方法

非常感谢您的时间。

获取字符串最后一部分的快捷方式是使用basename

basename(My_Link1)
#[1] "pr_day_MRI-AGCM3-2-H_highresSST_gn_20100101-20141231.nc"

对于第二个问题,如果您想删除最后一个".nc"我们可以使用sub例如

sub("\.nc", "", basename(My_Link1))
#[1] "pr_day_MRI-AGCM3-2-H_highresSST_gn_20100101-20141231"

使用一些正则表达式,这是获取第一部分的另一种方法:

sub(".*/", "", My_Link1)

相关内容

最新更新