r - 在 R 中的多个字符串中选择可变长度的字符串
问题描述
我需要一个函数或更可能是一个正则表达式脚本,它允许我根据条件挑选文本字符串。
例子:
Input <- c("Red1 Orange", "Yellow Green2", "Blue3 Violet")
导致:“Red1”、“Green2”、“Blue3”
我尝试了多种选择,包括:
str_extract(NamesCor, "[a-z][a-z][a-z][a-z][0-9]|
[a-z][a-z][a-z][0-9]|
[a-z][a-z][0-9]")
返回 reen2, blue3
解决方案
您可以使用
stringr::str_extract(Input, "\\b[A-Za-z]+\\d+\\b")
stringr::str_extract(Input, "\\b\\p{L}+\\d+\\b") # A Unicode aware version
请参阅R 演示:
Input <- c("Red1 Orange", "Yellow Green2", "Blue3 Violet")
library(stringr)
str_extract(Input, "\\b[A-Za-z]+\\d+\\b")
## [1] "Red1" "Green2" "Blue3"
另请参阅正则表达式演示。细节:
\b
- 单词边界[A-Za-z]+
- 1+ ASCII 字母(\p{L}
匹配任何 Unicode 字母)\d+
- 1+ 位数\b
- 单词边界
推荐阅读
- android - 如何获取列表视图中的所有项目?
- python - 我想从用户那里得到一个字符串列表,我应该怎么得到呢?
- c# - 创建一个包含选中 CheckBox 值的 ComboBox
- if-statement - TypoScript if 条件与当前年份的字段 crdate [9.5.7]
- symfony - Swiftmail 不发送邮件但没有错误,docker 容器上的 symfony
- javascript - 在 Javascript 中使用 clearInterval 后重新启动 setInterval
- angular - 用户选择某些文件或取消它后,如何以角度捕获文件对话框关闭事件?谢谢你
- node.js - POST API 数据不保存在 mongodb
- angular - Angular 中的笑话;我应该使用 nativeElement 还是 debugElement?
- java - 从 Java 代码中的 start.sh 文件中使变量不区分大小写