r - 提取以 XX.XXXX 开头的子字符串
问题描述
我有一个字符串
x <- "24.3483 stuff stuff 34.8325 some more stuff"
这[0-9]{2}\\.[0-9]{4}
表示我要提取的每个子字符串的每个部分的开头。对于上面的示例,我希望输出等效于
[1] "24.3483 stuff stuff" "34.8325 some more stuff"
我已经看过R split on delimiter (split) keep the delimiter (split):
> unlist(strsplit(x, "(?<=[[0-9]{2}\\.[0-9]{4}])", perl=TRUE))
[1] "24.3483 stuff stuff 34.8325 some more stuff"
这不是我想要的,以及如何使用 strsplit 拆分和保留元素?.
解决方案
您可以使用
x <- "24.3483 stuff stuff 34.8325 some more stuff"
unlist(strsplit(x, "\\s+(?=[0-9]{2}\\.[0-9]{4})", perl=TRUE))
[1] "24.3483 stuff stuff" "34.8325 some more stuff"
细节
\s+
- 1+ 空格(这应该防止在字符串的开头匹配,\\s*\\b
如果匹配之前没有空格,您可以将其替换为)(?=[0-9]{2}\.[0-9]{4})
- 需要(不消耗文本!)2 位数字.
、 和紧靠当前位置右侧的 4 位数字的正向前瞻。
推荐阅读
- node.js - 使用自定义事件参数运行计划的非定期 AWS Lambda 函数
- powershell - 如何将类放入构造函数参数| 电源外壳
- python - Python 和 Excel 插件
- r - R中的应用族
- jwt - 无法验证 Twilio Authy webhook 回调
- mysql - Spring Boot 应用程序使用 mysql 启动缓慢
- vba - 停用 Excel 365 VBA 中的范围
- git - 如何使用 .gitignore 文件正确忽略来自 git 的文件?
- python - 如何将 tf.data.Dataset 拆分为 keras 的 x_train、y_train、x_test、y_test
- datepicker - SwiftUI - 日期选择器仅显示年份