Python | Primer índice alfabético

A veces, mientras trabajamos con strings de Python, podemos tener un problema en el que necesitamos extraer el primer índice del carácter alfa de la string. Esto puede tener aplicación en la programación día-día. Analicemos ciertas formas en que se puede realizar esta tarea. 

Método n.º 1: uso de loop + regex La combinación de las funcionalidades anteriores se puede usar para realizar esta tarea. En esto, empleamos loop to loop a través de la string y regex se usa para filtrar los alfabetos en los caracteres. 

Python3

# Python3 code to demonstrate working of
# First alphabet index
# Using loop + regex
import re
 
# initializing string
test_str = "34#$g67fg"
 
# printing original string
print("The original string is : " + test_str)
 
# First alphabet index
# Using loop + regex
res = None
temp = re.search(r'[a-z]', test_str, re.I)
if temp is not None:
    res = temp.start()
 
# printing result
print("Index of first character : " + str(res))
Producción : 

The original string is : 34#$g67fg
Index of first character : 4

  Método #2: Usar find() + next() + filter() + isalpha() La combinación de los métodos anteriores también se puede usar para realizar esta tarea. En esto, buscamos alfabetos usando isalpha(). La tarea de encontrar el elemento se realiza mediante find(). next() devuelve la primera aparición. 

Python3

# Python3 code to demonstrate working of
# First alphabet index
# Using find() + next() + filter() + isalpha()
import re
 
# initializing string
test_str = "34#$g67fg"
 
# printing original string
print("The original string is : " + test_str)
 
# First alphabet index
# Using find() + next() + filter() + isalpha()
res = test_str.find(next(filter(str.isalpha, test_str)))
 
# printing result
print("Index of first character : " + str(res))
Producción : 

The original string is : 34#$g67fg
Index of first character : 4

Método n. ° 3: usar loop + ord() La combinación del método anterior se puede usar para resolver la tarea. En esto, iteramos sobre la string y verificamos el valor ascii con la ayuda del método ord. Si el valor ascii está en el rango de alfabetos, devuelve el índice de carácter. 

Python3

# Python3 code to demonstrate working of
# First alphabet index
# Using loop + ord
 
# initializing string
test_str = "3g4#$67fg"
 
# printing original string
print("The original string is : " + test_str)
 
# First alphabet index
# Using lopp + ord
ans = -1;
for i in test_str:
    temp = ord(i)
    if (65 <= temp <= 90) or (97 <= temp <= 122):
        ans = test_str.index(i);
        break;
 
 
# printing result
print("Index of first character : " + str(ans))

Producción:

The original string is : 3g4#$67fg
Index of first character : 1

Método #4: Usando index() y sin el método isalpha()

Python3

# Python3 code to demonstrate working of
# First alphabet index
 
# initializing string
test_str = "34#$g67fg"
 
# printing original string
print("The original string is : " + test_str)
 
# First alphabet index
alphabets="abcdefghijklmnopqrstuvwxyz"
res = 0
for i in test_str:
    if i in alphabets:
        res=test_str.index(i)
        break
 
# printing result
print("Index of first character : " + str(res))
Producción

The original string is : 34#$g67fg
Index of first character : 4

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *