检查字符串是否包含任何数字

时间:2015-10-27 10:30:19

标签: r string

我正在搜索正确的表达式来搜索字符串,如果它只包含数字(0-9)或其他任何内容并返回true / false。

我得到的是:

> teststring <- "012345c6789"
> any(str_detect(teststring,c(letters,LETTERS)))
[1] TRUE

但是这只检查字母,我想要正确的表达式来检查字符串中是否有任何字符。

4 个答案:

答案 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]"));