假设我有一个向量 myvec <- c("00890","0891","Apple-20","00-china-usa","0123Belgium")
。
我想删除此向量中数值之前的所有零,而不是从字母数字中删除,并获得如下所示的结果。
结果
"890", "891", "Apple-20","00-china-usa","0123Belgium"
最佳答案
您可以使用 gsub 和正则表达式来完成。将 [1-9]
放在括号中允许您使用 \\1
选择它以保留在输出中
gsub("^0+([1-9])","\\1",myvec)
编辑:实际上,从 0123Belgium 中删除了 0,这是有效的:
ifelse(grepl("[A-z]",myvec),myvec,gsub("^0+([1-9])","\\1",myvec))
关于从 R 向量中没有小数的数字中删除前导零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35884728/