【发布时间】:2019-11-03 11:05:24
【问题描述】:
我希望我可以将 regex 传递给 tidyr 的 extract 并将 ignore_case 设置为 true。但它显然不起作用:
tidyr::extract(
tibble("Value"),
col = 1,
into = c("result"),
regex = regex("(value)", ignore_case = TRUE)
)
这应该会产生一列result 和一行值Value 的小标题。但它没有,单元格是NA。
使用大写字母时,代码相同:
tidyr::extract(
tibble("Value"),
col = 1,
into = c("result"),
regex = regex("(Value)", ignore_case = TRUE)
)
将ignore_case = TRUE 或ignore.case = TRUE 直接作为参数传递给extract 并不能解决问题。
【问题讨论】:
-
不知道发生了什么,但
regex = regex("(?i)(value)")有效。 -
regex函数来自不同的包 stringr。我没有深入研究代码,但很可能 tidyr 函数根本不是为了使用另一个包中的特殊函数而编写的。 -
可以查看与本帖相关的github issuegithub.com/tidyverse/tidyr/issues/223
标签: r regex extract tidyverse tidyr