r - 是否有一个 R 函数来提取所有数字,然后是特定模式?
问题描述
我正在工作 R。我想提取向量中最后一个空格和字符串模式(“-APPLE”)之间的所有数字。这些数字可以是可变长度的。
test_string = c("ABC 2-APPLE", "123 25-APPLE", "DEF GHI 567-APPLE", "ORANGE")
预期结果集应该是一个向量,如 c(2, 25, 567, NA)
解决方案
请参阅具有多个捕获组的 R 中的正则表达式组捕获,以获取str_match()
使用包中的,的示例stringr
。
在你的情况下:
> test_string = c("ABC 2-APPLE", "123 25-APPLE", "DEF GHI 567-APPLE")
>
> library(stringr)
> x <- str_match(test_string, " ([0-9]+)-APPLE$")[,2]
> as.numeric(x)
[1] 2 25 567
推荐阅读
- email - 如何在 Go 中从 Mailgun 接收文件附件
- list - Haskell:是否可以定义一个可以封装 Maybe、String 和 Double 的数据类型,并且能够应用地应用值?
- android - 如何使 ImageSpan 按基线对齐
- excel - 在excel中计算m = 1到n的总和
- gwt - GWT 未来或支持仍在进行中
- elasticsearch - ElasticSearch 6.4:未存储的存储字段
- javascript - 在php中的表中添加onclick事件
- wordpress - 如何使用 gform_product_info 更新重力表格上的总条目
- c# - 从 url MSBUILD xml 恢复 Nuget 包
- java - jQuery 终端 - 以字符串形式读取 Java 中的 shell 响应会在 jQuery 终端中显示奇怪的字符