假设我有一个向量 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/

10-13 09:45