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