是否有更簡單的方法來匹配整個正則表達式模式?例如,要檢查給定的字符串是否大寫以下兩種方法,但看起來太複雜。檢查stringr我發現沒有更簡單的解決方案的跡象。檢查字符串在R中是否大寫
方法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字符串的處理,以避免膨脹的代碼。
大寫模式可以概括爲任意的正則表達式模式(或字符集)。
我發現上述兩種解決方案都沒有問題,只是它們似乎對於解決的問題過於複雜。
單曲== TOUPPER(S)'? – Justin
我想將解決方案推廣到更復雜的模式。 – topchef
爲什麼不''grepl(「^ [[:upper:]] + $」,s)'? –