【发布时间】:2021-02-15 08:18:38
【问题描述】:
这是一个非常基本的问题,但我找不到明确的答案...如何删除第二个下划线后的所有内容。谢谢!
Please_remove_this_part
想要的输出:
Please_remove
【问题讨论】:
这是一个非常基本的问题,但我找不到明确的答案...如何删除第二个下划线后的所有内容。谢谢!
Please_remove_this_part
想要的输出:
Please_remove
【问题讨论】:
我会将问题描述为提取第二个下划线之前的所有内容:
x = "Please_remove_this_part"
stringr::str_extract(x, "[^_]*_[^_]*")
# [1] "Please_remove"
说明:[^_] 匹配除下划线以外的任何内容,因此 [^_]*_[^_]* 匹配任何非下划线、一个下划线,然后是非下划线的任何内容。
【讨论】:
x <- "Please_remove_this_part"
sub("([A-Za-z]+_[A-Za-z]+).*", "\\1", x)
[1] "Please_remove"
此sub 解决方案将第二个下划线之前的所有内容定义为捕获组,并通过替换参数中的反向引用\\1 调用它。
【讨论】: