繁体   English   中英

用R中的Regex和Gsub替换字符串后的一些文本

[英]Replace some text after a string with Regex and Gsub in R

这是一个简单的问题,但我对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呢?

谢谢

您可以使用以下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+字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM