如何在所有字符串v1中刪除所有字符之前「p」和「p」本身,如下面的數據框中所示。從基於相對位置到特定字符的字符串中刪除字符,在R
df1 <- data.frame(v1 = c("m0p1", "m5p30", "m11p20", "m59p60"))
如何刪除所有字符後 「p」 和 「P」 本身? 謝謝
如何在所有字符串v1中刪除所有字符之前「p」和「p」本身,如下面的數據框中所示。從基於相對位置到特定字符的字符串中刪除字符,在R
df1 <- data.frame(v1 = c("m0p1", "m5p30", "m11p20", "m59p60"))
如何刪除所有字符後 「p」 和 「P」 本身? 謝謝
你也可以做
sub('^[^p]*p', '', df1$v1)
#[1] "1" "30" "20" "60"
或者
sub('p.*$', '', df1$v1)
#[1] "m0" "m5" "m11" "m59"
您可以使用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"
P上之後:
gsub('.*(?<=p)(\\d+)','\\1',df1$v1,perl=T)
第106頁:
gsub('(.*)(?=p).*','\\1',df1$v1,perl=T)
謝謝@scoa – jpinelo