【发布时间】:2020-05-26 04:58:54
【问题描述】:
例如,这是我的字符串 -> abcd 1234abcda="author 1" content="author 2.">\n
我只想要字符串author 2.,通过在R中使用函数str_extract()。我怎样才能使用正则表达式来做到这一点?非常感谢。
【问题讨论】:
例如,这是我的字符串 -> abcd 1234abcda="author 1" content="author 2.">\n
我只想要字符串author 2.,通过在R中使用函数str_extract()。我怎样才能使用正则表达式来做到这一点?非常感谢。
【问题讨论】:
你可以使用:
string = 'abcd 1234abcda="author 1" content="author 2.">\n'
sub('.*"(.*)".*', '\\1', string)
#[1] "author 2."
与str_match
library(stringr)
str_match(string, '.*"(.*)"')[, 2]
另一种选择是提取带有“作者”后跟数字的所有值,然后使用tail 选择最后一个值。
tail(str_extract_all(string, 'author \\d+')[[1]], 1)
【讨论】:
? 来完成。所以sub('.*?"(.*?)".*', '\\1', string) 会给出“author 1”。