Bra*_*roy 5 regex r case-sensitive strsplit
我知道在grep中你可以简单地使用ignore.case = TRUE. 但是, strsplit又如何呢?您可以传递正则表达式作为第二个参数,但我不确定如何使该正则表达式不区分大小写。
目前,这就是我的 strsplit 的样子,但我想让搜索不区分大小写。我该怎么做呢?
strsplit(df$sentence, paste0(" ", df$node, "( |[!\",.:;?})\\]])"))
Run Code Online (Sandbox Code Playgroud)
例子:
sentence <- "De A-bom, Sint...";
node <- "a-bom"
contexts <- strsplit(sentence, paste0("(?i) ", node, "( |[!\",.:;?})\\]])"))
(leftContext <- sapply(contexts, `[`, 1))
Run Code Online (Sandbox Code Playgroud)
预期收益:
[1] "De"
Run Code Online (Sandbox Code Playgroud)
实际回报:
[1] "De A-bom, Sint..."
Run Code Online (Sandbox Code Playgroud)
但请注意,正则表达式本身确实可以在线工作。
“(?i)”模式修饰符确实使基于 PCRE 的正则表达式不区分大小写。
您的示例的问题不在于大小写,而在于分组表达式。用于perl=TRUE您期望的转义行为。
sentence <- "De A-bom, Sint...";
node <- "a-bom"
contexts <- strsplit(sentence, paste0("(?i) ", node,
"( |[!\",.:;?})\\]])"),perl=TRUE)
(leftContext <- sapply(contexts, `[`, 1))
Run Code Online (Sandbox Code Playgroud)
产生预期的
[1] "De"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1152 次 |
| 最近记录: |