【发布时间】:2020-05-22 12:21:06
【问题描述】:
如何选择数字的前 2 位数字?我只需要函数的名称
示例:12455 变成 12,13655 变成 13
基本上它相当于整数的子字符串。
【问题讨论】:
-
嗨...你的编程语言是什么?
-
对不起,我忘了说,它是工作室
如何选择数字的前 2 位数字?我只需要函数的名称
示例:12455 变成 12,13655 变成 13
基本上它相当于整数的子字符串。
【问题讨论】:
如果最后你需要一个数字向量/元素,你可以使用
as.numeric(substr(x, 1, 2))
【讨论】:
as.character,因为在文档中写到substr 需要一个字符向量,但实际上该函数在内部使用as.character。我编辑我的答案以使用更少的代码。谢谢@DarrenTsai
此解决方案使用gsub,锚点^ 表示字符串的起始位置,\\d{2} 表示出现在此位置的任何两位数字,包裹在(...) 中以将其标记为捕获组,并反向引用\\1 在替换参数中,它“召回”捕获组:
x <- c(12455,13655)
gsub("(^\\d{2}).*", "\\1", x)
[1] "12" "13"
或者,使用str_extract:
library(stringr)
str_extract(x, "^\\d{2}")
【讨论】: