R语言——字符串提取函数

1、substr函数:提取指定位置的字符

根据身份证号计算年龄:

# 读入数据
id_number <- readxl::read_excel("D:/身份证.xlsx",sheet="Sheet1")

在这里插入图片描述

# 提取出生年份
year1 <- substr(id_number$身份证号,7,10)
# year2 <- substring(id_number$身份证号,7,10) 也是一样的

在这里插入图片描述

# 计算年龄
year <- format(Sys.time(),"%Y")  #若是输入的日期,可以使用as.Date函数将输入的日期转变为日期型,在提取出生日期

age <- as.numeric(year)-as.numeric(year1)
age

在这里插入图片描述

2、str_extract函数:提取首个匹配模式的字符

# 因为身份证号有规律,可以通过指定字符串中的字符位置提取规定的值;若不知道字符串的位置,可通过stringr包中的str_extract函数提取,可使用正则表达式匹配。
str_extract(id_number$身份证号,"110101") 

在这里插入图片描述

3、str_detect:检测字符是否存在某些指定模式

str_detect(id_number$身份证号,"110101")

在这里插入图片描述
配合sum函数可计算满足条件的字符串个数。

4、str_locate:返回首个匹配模式的字符的位置

str_locate(id_number$身份证号,"110101")

在这里插入图片描述

5、str_sub:提取指定位置的字符

#可与str_locate函数配合使用,这里达到与str_extract函数函数的效果
str_sub(id_number$身份证号,str_locate(id_number$身份证号,"110101"))

在这里插入图片描述

  • 2
    点赞
  • 2
    评论
  • 14
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

呯~哈嘿

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值