问题描述
我正在尝试使用以下正常工作的代码,仅在给定字符串的开头删除子字符串
return sign | uint16((rv-0x38000000)>>13)
这将从字符串str_extract('CNABC',"(?<=CN)([^,]+)"))
中删除CN
但是,当我在dplyr中使用此代码时,它会生成NA。有什么想法吗?
CNABC
谢谢。
解决方法
为什么不简单地将模式(如果在字符串的开头找到)替换为空字符串?如果找不到该模式,则sub
不执行任何操作,与stringr::str_extract
不同。
library(dplyr)
data.frame(A = c('CNABC','XNABC','CXABC')) %>%
mutate(B = sub("^CN","",A))
# A B
#1 CNABC ABC
#2 XNABC XNABC
#3 CXABC CXABC