我正在尝试在Ruby中创建一个函数来检查一个字符串是否有两个或多个连续的大写字母,例如:
"Hello There" # => returns false
"Hello ThERe" # => returns true
答案 0 :(得分:6)
"Hello There" =~ /[A-Z]{2}/
# => nil
"Hello ThERe" =~ /[A-Z]{2}/
# => 8
如果它没有字母,则返回nil,否则返回第一次出现的索引(可以将它们视为真/假)
def has_two_uppercase_letters
str =~ /[A-Z]{2}/
end
或者如果你想返回一个明确的真/假:
def has_two_uppercase_letters
(str =~ /[A-Z]{2}/) != nil
end
答案 1 :(得分:4)
答案 2 :(得分:3)
因为Ruby不支持\p{upper}
,所以必须使用
/\p{Lu}{2,}/