我有这三个字符串:
letters <- "abc"
numbers <- "123"
mix <- "b1dd"
如何检查这些字符串中哪一个仅包含字母或仅包含数字(在 R 中)?
letters
仅应在仅字母检查中为 TRUE
numbers
仅在 NUMBERS ONLY 检查中才应为 TRUE
mix
在任何情况下都应该为 FALSE
我现在尝试了几种方法,但没有一个真正适合我:(
例如,如果我使用
grepl("[A-Za-z]", letters)
它适用于letters
,但它也适用于mix
,我不想要的。
提前致谢。
# Check that it doesn't match any non-letter
letters_only <- function(x) !grepl("[^A-Za-z]", x)
# Check that it doesn't match any non-number
numbers_only <- function(x) !grepl("\\D", x)
letters <- "abc"
numbers <- "123"
mix <- "b1dd"
letters_only(letters)
## [1] TRUE
letters_only(numbers)
## [1] FALSE
letters_only(mix)
## [1] FALSE
numbers_only(letters)
## [1] FALSE
numbers_only(numbers)
## [1] TRUE
numbers_only(mix)
## [1] FALSE
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)