[英]floating pie() in plotrix package in R (adjusting the opening & closing pattern)
[英]Remove characters between 1) opening and closing pattern and 2) if no closing pattern, opening pattern and end
使用兩個gsub
調用鏈來解決問題 - 出於好奇,我想知道是否有更短的正則表達式來實現我想要實現的目標。 (使用從 R 中刪除兩個字符串模式之間的字母的解決方案)
我想刪除某個模式出現之間的所有字符,或者 - 如果沒有“結束模式”,則在“開始”模式和結束之間。
foostring <- c("First test *** no asterisks at the end",
"Second test *** asterisks in the middle *** something different",
"Third test *** more than one asterisk *** something different *** second asterisk ***",
"Fourth test *** asterisks followed by a special character ***_something different")
# desired output with chain of gsubs
gsub("\\*{3}.*$", "", gsub("\\*{3}.*?\\*{3}", "", foostring))
#> [1] "First test " "Second test something different"
#> [3] "Third test something different " "Fourth test _something different"
您可以使用
gsub("\\*{3}.*?(?:\\*{3}|$)", "", foostring)
查看R 在線演示
TRE 正則表達式意味着:
\\*{3}
- 三個星號.*?
- 盡可能少的零個或多個字符(?:\\\\*{3}|$)
- 非捕獲組匹配
\\*{3}
- 三個星號|
- 或者$
- 字符串的結尾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.