separar - ¿Cómo puedo verificar si una letra en una cadena está en mayúscula usando python?
reemplazar caracteres en python (5)
Tengo una cadena como "asdfHRbySFss" y quiero repasar un carácter a la vez y ver qué letras están en mayúscula. ¿Cómo puedo hacer esto en Python?
Otra forma de hacerlo usando el conjunto de caracteres ascii - similar a @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'']
Otra forma, más compacta, de hacer la solución de sdolan en Python 2.7+
>>> 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
Utilice string.isupper()
letters = "asdfHRbySFss"
uppers = [l for l in letters if l.isupper()]
Si quieres volver a ponerlo en una cadena, puedes hacerlo:
print "".join(uppers)
Utilice string.isupper () con filtro ()
>>> letters = "asdfHRbySFss"
>>> def isCap(x) : return x.isupper()
>>> filter(isCap, myStr)
''HRSF''
m = []
def count_capitals(x):
for i in x:
if i.isupper():
m.append(x)
n = len(m)
return(n)
Esta es otra manera que puede hacer con las listas, si desea recuperar las mayúsculas, simplemente quite el len