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