use*_*745 1 r stringr tidyverse
我们如何使 stringr 函数(例如str_replace)将参数视为字符串文字而不是正则表达式,而无需手动转义特殊字符?
转义特殊字符按预期工作
"dsfj?lddkfj" %>% str_replace("\\?ld", "AAA")
[1] "dsfjAAAdkfj"
Run Code Online (Sandbox Code Playgroud)
但如果我们不转义特殊字符,stringr函数会将 视为pattern正则表达式。在这种情况下我们会得到一个错误。
"dsfj?lddkfj" %>% str_replace("?ld", "AAA")
Run Code Online (Sandbox Code Playgroud)
是否有一些标准方法可以强制 stringr 函数将模式视为字符串文字(无需手动转义特殊字符)?
我可以看到perl = T是用于该功能的选项sub()
将图案包裹起来fixed()
library(stringr)
"dsfj?lddkfj" %>% str_replace(fixed("?ld"), "AAA")
#[1] "dsfjAAAdkfj"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
956 次 |
| 最近记录: |