2009年5月15日星期五

判断字母的大小写

使用正则表达式 /a-z/ 和 /A-Z/ 来对字母的大小写进行判断



# 小写字母 def lower?(str)
    /[a-z]/ =~ str
end

# 大写字母
def upper?(str)
    /[A-Z]/ =~ str
end

p '小写字母' if lower?('abcdefg')    #=> "小写字母"
p '大写字母' if upper?('ABCDEFG')    #=> "大写字母"



lower? 方法是,当字符串含有小写字母时,返回值为true, 否则为false. 如果字符串 中既含大写字母又含小写字母时,以上的写法就不适用了。方法更完善的写法是:



# 小写字母
def lower?(str)
    /\A[a-z]\z/ =~ str
end

# 大写字母
def upper?(str)
    /\A[A-Z]\z/ =~ str
end

str = 'aBcDeFg'

if lower?(str)
    p '小写字母'
elsif upper?(str)
    p '大写字母'
else
    p '无法识别'
end

#=> "无法识别"



有关 \A 和 \z 的介绍请查看 => 从首字符或尾字符开始的查找

没有评论:

发表评论