我正在搜索正确的表达式来搜索字符串,如果它只包含数字(0-9)或其他任何内容并返回true / false。
我得到的是:
> teststring <- "012345c6789"
> any(str_detect(teststring,c(letters,LETTERS)))
[1] TRUE
但是这只检查字母,我想要正确的表达式来检查字符串中是否有任何字符。
答案 0 :(得分:5)
我们可以使用该模式仅匹配一个或多个非数字元素([^0-9]+
)从开头(^
)到字符串的末尾{$)
{{1 }}
grepl
答案 1 :(得分:4)
您可以在没有正则表达式的情况下尝试,只需转换为数字:
containsOnlyNumbers = function(x) !is.na(as.numeric(x))
str1 <- "012345c6789"
str2 <- "016789"
#> containsOnlyNumbers(str1)
#[1] FALSE
#Warning message:
#In containsOnlyNumbers(str1) : NAs introduced by coercion
#> containsOnlyNumbers(str2)
#[1] TRUE
答案 2 :(得分:2)
这对你有用
teststring <- "012345c6789"
teststring1 <- "0123456789"
> suppressWarnings({is.na(as.numeric(teststring))})
> TRUE
> uppressWarnings({is.na(as.numeric(teststring1))})
> FALSE
答案 3 :(得分:1)
你可以否定模式......
$(".someclass").append("<ul id='yourUl'></ul>");
$("#yourUl").append($("[id*=app]"));