是否有更简单的方法来完全匹配正则表达式模式?例如,要检查给定的字符串是否为大写字母,可以使用以下两种方法,但是看起来太复杂了。检查纵梁我也没有找到更简单的解决方案的迹象。
方法1:
isUpperMethod1 <- function(s) {
return (all(grepl("[[:upper:]]", strsplit(s, "")[[1]])))
}
方法2:
isUpperMethod2 <- function(s) {
m = regexpr("[[:upper:]]+", s)
return (regmatches(s, m) == s)
}
我特意省略了对空,NA,NULL字符串的处理,以免代码code肿。
大写字母模式可以通用化为任意正则表达式模式(或字符集)。
我发现以上两种解决方案都没有问题,只是它们对于解决的问题似乎过于复杂。
您可以使用^
和$
模式来匹配字符串的开头和结尾
grepl("^[[:upper:]]+$", s)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句