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"))

在这里插入图片描述

  • 6
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
根据引用\[1\]中的SQL查询语句,它使用了子查询和字符串函数来实现对CSV字符串的查找。具体来说,它使用了substring函数、charindex函数和len函数来截和计算字符串的长度。在子查询中,它使用了substring函数和charindex函数提取CSV字符串中的ID值,并使用in子句将其与主查询中的ID进行匹配。 引用\[2\]提供了一些与正则表达式相关的函数,包括regexp_like、regexp_instr、regexp_substr和regexp_replace。这些函数可以用于模糊匹配、查找字符串位置、截字符串和替换字符串。在这个特定的SQL查询中,没有使用到这些正则表达式函数。 引用\[3\]提到了string_split函数,它可以用于将字符串拆分成多个值。然而,在这个特定的SQL查询中,并没有使用到string_split函数。 综上所述,根据提供的引用内容,无法直接回答关于CSV字符串查找相似的问题。如果您有更具体的问题或需要进一步的帮助,请提供更多的信息。 #### 引用[.reference_title] - *1* *2* *3* [数据库语法总结(6)——处理字符串](https://blog.csdn.net/m0_61746796/article/details/130060615)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值