r - 如何在同一个字符串中找到多个下划线?
问题描述
我有不同数量的下划线的字符串。我正在尝试选择包含两个或多个下划线的字符串。有什么建议么?
Strings <- c("aa_bb", "aa_bb_cc_dd", "jah_ghtfv_jal")
目前我有:
Match1 <- Strings[grepl("[_].+[_]", Strings) == TRUE,] and
Match2 <- Strings[grepl("_.*_", Strings) == TRUE,]
两者都返回略有不同的计数。谁能想出一个更好的方法来计算返回有两个或多个下划线的字符串?
在这种情况下,我想返回“aa_bb_cc_dd”、“jah_ghtfv_jal”。
谢谢!
解决方案
如果字符串可以采用任何形式,并且下划线可以出现在任何地方(例如,包括两个下划线“__”),您可以使用以下方式计算它们stringr::str_count
:
library(stringr)
Strings[str_count(Strings, "_") > 1]
推荐阅读
- shell - 使用 zsh 时,preexec: parse error in zsh?
- php - 如何在 PHP 中生成带有特定字母的 ID 并添加数字?
- reactjs - 在同一个函数 React 中处理 onClick 和 onKeyPressDown
- spring - 如何在春季缓存对象列表?
- mysql - 具有两列并按第三列排序的 Mysql rank 函数
- jquery - 锚链接在 Chrome 上不起作用
- python - Python(linux)基于文本的游戏输入错误
- python - 要理解的基本 Python 反汇编
- python - 调整图像大小会导致元组错误
- c++ - std::wofstream << WCHAR 和 << CHAR 可以同时吗?