簡體   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