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))
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))
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))
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