这是一个简单的问题,但我不擅长正则表达式。(我尝试了很多表达方式都没有成功)
我想替换模式后的所有文本(不替换)。
我的模式是这样的:
/canais/*/
我的数据是:
/canais/b3/conheca-o-pai-dos-indices-da-b3/
/canais/cpbs/cvm-abre-audiencia-publica-de-instruc
/canais/stocche-forbes/dividendo-controverso/
期望的结果是:
/canais/b3/
/canais/cpbs/
/canais/stocche-forbes/
我怎样才能用 gsub 做到这一点?
谢谢
您可以使用以下sub
:
x <- c("/canais/b3/conheca-o-pai-dos-indices-da-b3/","/canais/cpbs/cvm-abre-audiencia-publica-de-instruc","/canais/stocche-forbes/dividendo-controverso/")
sub("^(/canais/[^/]+/).*", "\1", x)
查看在线 R 演示
详情:
^
- 字符串的开头(/canais/[^/]+/)
- 第 1 组(后来称为1
)捕获:/canais/
- 子字符串/canais/
[^/]+
- 除/
以外的 1 个或多个字符/
- 斜杠
.*
- 字符串末尾的任何 0+ 字符。