R 无法从字符串中获取数字
我在表格中有一个人口统计栏,如“成年人18-34族裔=西班牙裔/所有人”,我想从中提取18-34岁的年龄组。你能帮忙吗?最好提供带有Stringr包的解决方案 输出应该是 演示 18-34R 无法从字符串中获取数字,r,stringr,R,Stringr,我在表格中有一个人口统计栏,如“成年人18-34族裔=西班牙裔/所有人”,我想从中提取18-34岁的年龄组。你能帮忙吗?最好提供带有Stringr包的解决方案 输出应该是 演示 18-34 提前感谢首先,我们可以从字符串中提取数字,使用-提取所有数值和单独的数字: 输入数据 str="Adults 18-34 Ethnic = Hispanic/All" 代码 paste(as.numeric(str_extract_all(str, "[0-9]+")[[1]]),collapse ="-"
提前感谢首先,我们可以从字符串中提取数字,使用
-
提取所有数值和单独的数字:
输入数据
str="Adults 18-34 Ethnic = Hispanic/All"
代码
paste(as.numeric(str_extract_all(str, "[0-9]+")[[1]]),collapse ="-")
输出:
[1] "18-34"
使用
baser
中的gsub
,我们从字符串的开头(^
)匹配不是数字的字符([^0-9]+
),或者匹配以空格后跟其他字符开头的字符,并将其替换为空白(“
)
或者使用
str\u extract
从stringr
中提取,以匹配一个或多个数字(\\d+
),后跟-
和一个或多个数字(\\d+
)
数据
str1到目前为止您尝试了什么?
gsub("^[^0-9]+|\\s+.*", "", str1)
#[1] "18-34"
library(stringr)
str_extract(str1, "\\d+-\\d+")
#[1] "18-34"
str1 <- "Adults 18-34 Ethnic = Hispanic/All"