R中的正则表达式,以确定数字出现的频率
我想检查一个特殊数字(“2020”,整数/年)是否在字符串中出现两次。我试过了,但没用。 谁能帮我R中的正则表达式,以确定数字出现的频率,r,regex,R,Regex,我想检查一个特殊数字(“2020”,整数/年)是否在字符串中出现两次。我试过了,但没用。 谁能帮我 grep(pattern = "2020{2}", x = "DataMW_2029__ForecastMW_2020") 谢谢:-)您可以使用gregexpr测试2020是否出现两次: length(gregexpr("2020", "DataMW_2029__ForecastMW_2020")[[1]]) == 2 #[1] FALSE length(gregexpr("2020", "D
grep(pattern = "2020{2}", x = "DataMW_2029__ForecastMW_2020")
谢谢:-)您可以使用
gregexpr
测试2020
是否出现两次:
length(gregexpr("2020", "DataMW_2029__ForecastMW_2020")[[1]]) == 2
#[1] FALSE
length(gregexpr("2020", "DataMW_2020__ForecastMW_2020")[[1]]) == 2
#[1] TRUE
或者使用regex
测试2次及以上
grepl("(.*2020){2}", "DataMW_2029__ForecastMW_2020")
#[1] FALSE
grepl("(.*2020){2}", "DataMW_2020__ForecastMW_2020")
#[1] TRUE
或精确点击2次:
grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2029__ForecastMW_2020", perl=TRUE)
#[1] FALSE
grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2020__ForecastMW_2020", perl=TRUE)
#[1] TRUE
grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2020__ForecastMW_2020_2020", perl=TRUE)
#[1] FALSE
您可以使用
gregexpr
测试2020
是否出现两次:
length(gregexpr("2020", "DataMW_2029__ForecastMW_2020")[[1]]) == 2
#[1] FALSE
length(gregexpr("2020", "DataMW_2020__ForecastMW_2020")[[1]]) == 2
#[1] TRUE
或者使用regex
测试2次及以上
grepl("(.*2020){2}", "DataMW_2029__ForecastMW_2020")
#[1] FALSE
grepl("(.*2020){2}", "DataMW_2020__ForecastMW_2020")
#[1] TRUE
或精确点击2次:
grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2029__ForecastMW_2020", perl=TRUE)
#[1] FALSE
grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2020__ForecastMW_2020", perl=TRUE)
#[1] TRUE
grepl("^(?!(.*2020){3})(.*2020){2}.*$", "DataMW_2020__ForecastMW_2020_2020", perl=TRUE)
#[1] FALSE
我会使用
stringr::str\u count()
:
x我会使用stringr::str\u count()
:
x