如何获取以“.nc”结尾的不同长度的字符串的最后一部分
how to get the last part of strings with different lengths ended by ".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 中完成,如此处记录:
How to get everything after last slash in a 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)
我有几个下载链接(即字符串),每个字符串有不同的长度。
例如,假设这些假链接是我的字符串:
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 中完成,如此处记录:
How to get everything after last slash in a 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)