str_extract生成NAs,同时使用with mutate删除开头的子字符串

str_extract生成NAs,同时使用with mutate删除开头的子字符串,r,dplyr,stringr,mutate,R,Dplyr,Stringr,Mutate,我正在尝试使用下面的代码删除给定字符串开头的子字符串,该代码运行良好 str_extract('CNABC',"(?<=CN)([^,]+)")) 谢谢。如果在字符串开头找到模式,为什么不简单地将其替换为空字符串?如果找不到模式,sub不执行任何操作,这与stringr::str_extract不同 library(dplyr) data.frame(A = c('CNABC', 'XNABC', 'CXABC')) %>% mutate(B = sub

我正在尝试使用下面的代码删除给定字符串开头的子字符串,该代码运行良好

str_extract('CNABC',"(?<=CN)([^,]+)"))

谢谢。

如果在字符串开头找到模式,为什么不简单地将其替换为空字符串?如果找不到模式,
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

无法重现此错误:
data.frame(C='CNABC')%%>%mutate(B=str_extract(C),(?您是对的,字符串有一些问题。已清除。但是,它正在生成NA,是没有此字符串的其余行。谢谢。我们仍然希望看到数据,请使用
dput(head(data))的输出编辑问题
,某些行的输出错误。
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