【发布时间】:2020-11-07 22:10:30
【问题描述】:
如何提取字符串“”之间的数据。
我有以下字符串数据为例:
x <- c('"Apr 21 2020 16:45 10894 <A HREF=\"D188_2020-03-30.csv\">D188_2020-03-30.csv</A>"')
想提取D188_2020-03-30.csv\ 作为输出。
参考了各种gsub 的例子,但无法弄清楚。
感谢任何建议。
【问题讨论】:
如何提取字符串“”之间的数据。
我有以下字符串数据为例:
x <- c('"Apr 21 2020 16:45 10894 <A HREF=\"D188_2020-03-30.csv\">D188_2020-03-30.csv</A>"')
想提取D188_2020-03-30.csv\ 作为输出。
参考了各种gsub 的例子,但无法弄清楚。
感谢任何建议。
【问题讨论】:
"" 之间有多个字符串,因此您需要一些其他标识符来提取您想要的内容。也许在"HREF"之后尝试""之间的字符串。
sub('.*HREF="(.*?)".*', '\\1', x)
#[1] "D188_2020-03-30.csv"
【讨论】:
这是使用 stringr 包中的 str_extract 函数的另一种方法。
str_extract(string = x, pattern = ("(?<=HREF=\").*(?=.>D188)"))
这基本上通过向后查找以匹配 (?<=HREF=\") 并向前查找以匹配 (?=.>D188)") 来返回文本。
# [1] "D188_2020-03-30.csv"
【讨论】: