es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo eliminar una línea si no contiene letras en Python.

Quiero eliminar las líneas de una cadena si no contienen letras y pasar si contienen letras o números. Estoy intentando resolver este problema utilizando RegEx en python, pero no puedo eliminar la línea.
Ejemplo:

string = ””हिरासत में ली गई महिला 36 वर्षीय नूर सजात कमरुज़्ज़मा थीं
British High Commissioner Greets
पत्ता आंबेडकर चौक, निमिशिरगाव,
निमिशरगाव, निरमशिरगाव, कोल्हापूर, NIMSHIRGAON, Nimshirgaon,
Address: ambedkar chowk,
महाराष्ट्र, 416101
Nimshirgaon, Kolhapur, Maharashtra,
416101
1832
1947”’

El resultado que quiero:

output = ””British High Commissioner Greets
Address: ambedkar chowk,
Nimshirgaon, Kolhapur, Maharashtra,
416101
1832
1947”’

¡Por favor, ayúdame!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Una posible solución utilizando expresiones regulares en Python es dividir la cadena por líneas e iterar sobre cada línea, probando si contiene alguna letra o número. Si lo hace, mantenemos la línea, de lo contrario, la descartamos.

    Aquí hay un código de muestra:

    import re
    
    string = '''हिरासत में ली गई महिला 36 वर्षीय नूर सजात कमरुज़्ज़मा थीं
              British High Commissioner Greets
    
              पत्ता आंबेडकर चौक, निमशीरगाव,
              निमिशरगाव, निरमशिरगाव, कोल्हापूर, NIMSHIRGAON, Nimshirgaon,
              Address: ambedkar chowk,
              महाराष्ट्र, 416101
              Nimshirgaon, Kolhapur, Maharashtra,
              416101
              1832
              1947'''
    
    lines = string.split('\n')
    output = '\n'.join(line for line in lines if re.search('[a-zA-Z0-9]', line))
    
    print(output)
    

    Esto debería producir la salida deseada:

    British High Commissioner Greets
    Address: ambedkar chowk,
    Nimshirgaon, Kolhapur, Maharashtra,
    416101
    1832
    1947
    

Comments are closed.