【发布时间】:2016-04-15 07:48:16
【问题描述】:
我有如下代码列表
ccode<-c('S','PD','CH','ML','MD','VA','BVI','DB','KD','KE','PW','COL','AD','MET','VP','SI','VR','GAO','LK','RP','PAD','WAN','PWD','PMP','PBR','VN','PPC','NK','K','AH','I','JP','JU','UDZ','CHM','DDN','LN','CL','CLH','DKM','GK','WD','ED','DDK','DLN','DRN','DFD','GZB','DVV','GUR','GGN','ND','HHN','HAS','HYD','HKP','BWF','BBW','BKM','BSN','BL','BIN','ST','KN')
现在,我想从下面的示例中提取一个以代码开头的字符串
consolidated_csv_v2 <- c("pt paid rs-8488/- remaining amt","Credit Card Sales","ML 2926 VARSHA LAKHANI (AG)","IMRAN KHAN-PW-4798","Deepali Mishra Ah-5564 Tst", "MANJU S-11226 T","SNEHA S-16191","SUMIT SETHI AH-5747 AG","SUJATA VORA AH-5361 AG","Deepali Mishra Ah-5564 Tst")
数据分布在 477326 行
预期的输出是代码后跟数字。
str_extract(consolidated_csv_v2, "AH.*$")
[1] NA NA NA NA NA NA
[7] NA "AH-5747 AG" "AH-5361 AG" NA AG"
此公式仅适用于静态代码“AH”。我怎样才能对 ccode 中的任何代码进行相同的匹配。
【问题讨论】:
-
请通过发布一些数据使您的示例可重现。
-
你怎么会有代码'S'和代码'SI'?那么例如以 SA 开头的字符串?
-
@Andrie 更新了示例数据,它有什么帮助!!
-
@Sotos 是的,我知道这是一个挑战!至少我可以找出其他代码对吗?
-
或许使用
str_extract(consolidated_csv_v2[,4],paste0("^(", paste(ccode, collapse="|"),").*"))的模式