[英]Remove characters from string based on relative position to specific character, in R
如何刪除v1的所有字符串中“ p” 之前的所有字符以及“ p”本身,如下數據框所示。
df1 <- data.frame(v1 = c("m0p1", "m5p30", "m11p20", "m59p60"))
如何刪除“ p”和“ p”本身之后的所有字符? 謝謝
您可以使用gsub
# Remove everything before p
gsub("^.*?p(.*)","\\1",df1$v1,perl=TRUE)
#[1] "1" "30" "20" "60"
# Remove everything after p
gsub("(.*)?p.*$","\\1",df1$v1,perl=TRUE)
# [1] "m0" "m5" "m11" "m59"
你也可以
sub('^[^p]*p', '', df1$v1)
#[1] "1" "30" "20" "60"
要么
sub('p.*$', '', df1$v1)
#[1] "m0" "m5" "m11" "m59"
在p之后:
gsub('.*(?<=p)(\\d+)','\\1',df1$v1,perl=T)
在p之前:
gsub('(.*)(?=p).*','\\1',df1$v1,perl=T)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.