在ruby中,如何判断字符串输入是大写还是小写?

时间:2012-11-25 02:17:34

标签: ruby uppercase lowercase

我正在尝试编写一个程序,当输入单个字母时,如果它是大写的,则将其保留为大写并返回它,如果它是小写的,则转换为大写。如何编写此代码以便能够判断字符串最初是大写还是小写?

3 个答案:

答案 0 :(得分:8)

只需将字符串转换为大写字母并将其与原始字符串

进行比较
string == string.upcase

或小写

string == string.downcase

编辑:如评论中所述,上述解决方案仅适用于英文字母。如果您需要国际解决方案,请使用

def upcase?(string)
    !string[/[[:lower:]]/]
end

使用正则表达式扫描字符串中的小写字母,并否定查找以判断字符串是否全部为大写。

答案 1 :(得分:2)

听起来你只需要转换为大写,而不需要打扰if小写检查,因为将#upcase应用于已经大写的东西不会影响它。

答案 2 :(得分:1)

对于单个字符串,您也可以使用 start_with?方法。

user_input = gets.chomp

if user_input.start_with?(user_input.downcase)
    user_input.upcase!
end