r - 解析字符串 - 在末尾提取数字字符
问题描述
解析 R 数据帧中的字符串字段对我来说有点神秘,恐怕......将不胜感激。
我有一个字符串字段,它总是以不确定数量的数字字符结尾。我想写一些代码来提取每个末尾的数字部分。
数据格式的一个例子是:
df_test <- data.frame(my_string = c("XXX-0387", "XXXX-1-999999", "XXX 12345432", "XXX-2345", "XXX1234"))
我想要的是将末尾的数字部分放入一个新字段中,但要保留任何前导零 - 所以大概新字段必须是 chr 而不是 int。所以我的输出看起来像:
c("0387", "999999", "12345432", "2345", "1234)
请问有没有简单的方法可以做到这一点?
谢谢你。
解决方案
一种sub
用于捕获字符串最后一部分的方法,即数字。
sub('.*?(\\d+)$', '\\1', df_test$my_string)
#[1] "0387" "999999" "12345432" "2345" "1234"
使用stringr
:
stringr::str_extract(df_test$my_string, '\\d+$')
推荐阅读
- python - Docker:离线安装python包
- google-apps-script - Google 电子表格菜单按钮已禁用(灰显)
- vue.js - VueJS:如何在对象数组中创建 v-model 值
- python - 使 PySimpleGUI 单选按钮生成事件
- python - 正则表达式 xth, yth, zth 字符在空间对齐的文本文件中
- firebase - 如何使用 ionic 在服务器上上传图像文件?
- angular - 访问参数映射
- algorithm - 机器如何产生随机数
- c# - 放置在弹出窗口内时,第一次单击时不会触发按钮单击事件
- python - 此估算器不支持 Dask 数据帧