Dada una string y dos substrings, escriba un programa de Python para extraer la string entre las dos substrings encontradas.
Entrada: test_str = «Gfg es mejor para geeks y CS», sub1 = «es», sub2 = «y»
Salida: mejor para geeks
Explicación: lo mejor para los geeks es entre es y ‘y’
Entrada: test_str = «Gfg es mejor para geeks y CS», sub1 = «para», sub2 = «y»
Salida: frikis
Explicación: geeks está entre para y ‘y’
Método #1: Usando index() + loop
En esto, obtenemos los índices de ambas substrings usando index(), luego se usa un ciclo para iterar dentro del índice para encontrar la string requerida entre ellos.
Python3
# Python3 code to demonstrate working # of Extract string between 2 substrings # Using loop + index() # initializing string test_str = "Gfg is best for geeks and CS" # printing original string print("The original string is : " + str(test_str)) # initializing substrings sub1 = "is" sub2 = "and" # getting index of substrings idx1 = test_str.index(sub1) idx2 = test_str.index(sub2) res = '' # getting elements in between for idx in range(idx1 + len(sub1) + 1, idx2): res = res + test_str[idx] # printing result print("The extracted string : " + res)
The original string is : Gfg is best for geeks and CS The extracted string : best for geeks
Método n.º 2: Usar index() + corte de strings
Similar al método anterior, solo la tarea de cortar se realiza usando el corte de strings para proporcionar una solución mucho más compacta.
Python3
# Python3 code to demonstrate working # of Extract string between 2 substrings # Using index() + string slicing # initializing string test_str = "Gfg is best for geeks and CS" # printing original string print("The original string is : " + str(test_str)) # initializing substrings sub1 = "is" sub2 = "and" # getting index of substrings idx1 = test_str.index(sub1) idx2 = test_str.index(sub2) # length of substring 1 is added to # get string from next character res = test_str[idx1 + len(sub1) + 1: idx2] # printing result print("The extracted string : " + res)
The original string is : Gfg is best for geeks and CS The extracted string : best for geeks
Método n.° 3: Usar el corte de strings find()+.
El método find() devuelve la posición de la string pasada como argumento o de lo contrario devuelve -1. Finalmente, corte la string con las posiciones.
Python3
# Python3 code to demonstrate working # of Extract string between 2 substrings # Using find() + string slicing # initializing string test_str = "Gfg is best for geeks and CS" # printing original string print("The original string is : " + str(test_str)) # initializing substrings sub1 = "is" sub2 = "and" # getting index of substrings idx1 = test_str.find(sub1) idx2 = test_str.find(sub2) # length of substring 1 is added to # get string from next character res = test_str[idx1 + len(sub1) + 1: idx2] # printing result print("The extracted string : " + res)
The original string is : Gfg is best for geeks and CS The extracted string : best for geeks
Método #4: Usando replace() y split()
Python3
# Python3 code to demonstrate working # of Extract string between 2 substrings # initializing string test_str = "Gfg is best for geeks and CS" # printing original string print("The original string is : " + str(test_str)) # initializing substrings sub1 = "is" sub2 = "and" test_str=test_str.replace(sub1,"*") test_str=test_str.replace(sub2,"*") re=test_str.split("*") res=re[1] # printing result print("The extracted string : " + res)
The original string is : Gfg is best for geeks and CS The extracted string : best for geeks
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