我是R
的新手,并且想知道如何从数据库的确定列中删除前导0
。
这是我的df
中的列。
questionn
SI001
SI002
SI003
SI010
我想得到
questionn
1
2
3
10
我已经尝试过类似的操作,但是由于SI010
library(stringr)
df$questionn <- str_replace_all(df$questionn, 'SQ0', '')
数据
df <- data.frame(questionn=c("SI001","SI002","SI003","SI010"),stringsAsFactors = FALSE)
答案 0 :(得分:3)
尝试:
as.numeric(str_replace_all(df$questionn,"SI0",""))
答案 1 :(得分:1)
您可以删除所有非数字字符,然后转换为数字:
MATCH_PARENT
或as.numeric(gsub("\\D","",df$questionn))
[1] 1 2 3 10
获得相同的输出。
答案 2 :(得分:0)
substr(gsub("SI", "", question$question),
regexpr("[^0]",gsub("SI", "", question$question)),
nchar(gsub("SI", "", question$question)))
产生:
"1" "2" "3" "10"
您要做的第一件事是剥离SI,以具有前导零的格式获取数据。