检查字符串是否包含数字和短划线

时间:2017-11-16 12:10:43

标签: r regex grep grepl

我正在尝试找到正确的正则表达式来查找天气,字符串包含数字[0-9]和特殊字符“ - ”。

前,

str1="00-25" #TRUE
str2="0a-2" #FALSE

我试过了

grepl("[^[:digit:]|-]",str2)
#[1] TRUE

想法?

1 个答案:

答案 0 :(得分:2)

您想检查字符串是否只有数字和 - 。

要创建整体,您需要使用“[]”所以:

[0-9-]

现在你要检查字符串的每个字符是否在你创建的整体中,在其他术语中你要开始(^)和完成($ )通过这个合奏:

^[0-9-]$

最后在变量中有一个或多个字符,所以我使用“+”:

grepl("^[0-9-]+$",str)