我正在尝试编写一个程序,当输入单个字母时,如果它是大写的,则将其保留为大写并返回,如果是小写,则转换为大写。我该如何写才能判断字符串最初是大写还是小写?
问问题
6329 次
3 回答
10
只需将字符串转换为大写并与原始字符串进行比较
string == string.upcase
或小写
string == string.downcase
编辑:如评论中所述,上述解决方案仅适用于英文字母。如果您需要国际解决方案,请改用
def upcase?(string)
!string[/[[:lower:]]/]
end
它使用正则表达式扫描字符串中的小写字母,并否定结果以判断字符串是否全部为大写。
于 2012-11-25T02:19:36.877 回答
2
听起来您只需要转换为大写,根本不需要检查 if 小写,因为将 #upcase 应用于已经是大写的东西不会影响它。
于 2012-11-25T11:40:16.833 回答
1
对于单个字符串,您可以使用start_with? 方法也是。
user_input = gets.chomp
if user_input.start_with?(user_input.downcase)
user_input.upcase!
end
于 2015-05-27T02:45:27.797 回答