这是一个简单的问题,但我对Regex并不擅长。 (我尝试了许多表达但没有成功)
我希望在模式之后替换所有文本(无替换)。
我的模式是这样的:
/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进行操作?
由于
答案 0 :(得分:3)
您可以使用以下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)
详细:
^
- 字符串开头(/canais/[^/]+/)
- 第1组(后来称为\1
)捕获:
/canais/
- 子字符串/canais/
[^/]+
- 除/
/
- 斜线.*
- 字符串末尾的任何0+字符。