首页 > 解决方案 > 如何在同一个字符串中找到多个下划线?

问题描述

我有不同数量的下划线的字符串。我正在尝试选择包含两个或多个下划线的字符串。有什么建议么?

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”。

谢谢!

标签: rregexstring

解决方案


如果字符串可以采用任何形式,并且下划线可以出现在任何地方(例如,包括两个下划线“__”),您可以使用以下方式计算它们stringr::str_count

library(stringr)
Strings[str_count(Strings, "_") > 1]

推荐阅读