如何检查字符串中的字母是否使用python大写?

时间:2011-01-15 01:29:41

标签: python capitalization

我有一个像“asdfHRbySFss”的字符串,我想一次查看一个字符,看看哪些字母大写。我怎么能用Python做到这一点?

5 个答案:

答案 0 :(得分:51)

使用string.isupper()

letters = "asdfHRbySFss"
uppers = [l for l in letters if l.isupper()]

如果你想把它带回一个你可以做的字符串:

print "".join(uppers)

答案 1 :(得分:7)

在Python 2.7 +中使用sdolan解决方案的另一种更紧凑的方法

>>> test = "asdfGhjkl"
>>> print "upper" if any(map(str.isupper, test)) else "lower"
upper
>>> test = "asdfghjkl"
>>> print "upper" if any(map(str.isupper, test)) else "lower"
lower

答案 2 :(得分:6)

将string.isupper()与filter()

一起使用
>>> letters = "asdfHRbySFss"
>>> def isCap(x) : return x.isupper()
>>> filter(isCap, myStr)
'HRSF'

答案 3 :(得分:1)

m = []
def count_capitals(x):
  for i in x:
      if i.isupper():
        m.append(x)
  n = len(m)
  return(n)

这是你可以用列表做的另一种方法,如果你想要回头,只需删除len()

答案 4 :(得分:0)

使用ascii字符集的另一种方法 - 类似于@sdolan

letters = "asdfHRbySFss"
uppers = [l for l in letters if ord(l) >= 65 and ord(l) <= 90] #['H', 'R', 'S', 'F']
lowers= [l for l in letters if ord(l) >= 97 and ord(l) <= 122] #['a', 's', 'd', 'f', 'b', 'y', 's', 's']