用R中的字符串删除前导0

Ale*_*lex 6 r stringr

我有以下数据

id
00001
00010
00022
07432
Run Code Online (Sandbox Code Playgroud)

我想删除前导0s,因此数据需要以下内容

id
1
10
22
7432
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 9

这是使用的基本 R 选项sub

id <- sub("^0+", "", id)
id

[1] "1"    "10"   "22"   "7432"
Run Code Online (Sandbox Code Playgroud)

演示


Mar*_*ius 9

在中使用新str_remove功能stringr

id = str_remove(id, "^0+")
Run Code Online (Sandbox Code Playgroud)


akr*_*run 6

我们可以转换为 numeric

as.numeric(df1$id)
[#1]    1   10   22 7432
Run Code Online (Sandbox Code Playgroud)

如果我们需要一个character类输出,可以使用str_replacefromstringr

library(stringr)
str_replace(df1$id, "^0+" ,"")
#[1] "1"    "10"   "22"   "7432"
Run Code Online (Sandbox Code Playgroud)

  • @Basil “+”表示一个或多个,因此如果 0 是前缀,它将是一个或多个零,而“^”表示字符串的开头。因此,检查的模式是一个或多个零作为字符串的开头 (2认同)