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 encontrar el n-ésimo dato en Python después de un carácter especial?

Tengo un archivo que contiene información en la línea. Solo quiero imprimir las palabras después del último carácter ∑. ¿Cómo puedo hacer esto?

Texto:

App∑Category∑Rating∑Reviews∑Size∑Installs∑Type∑Price∑Content Rating∑Genres∑Last Updated∑Current Ver∑Android Ver
Photo Editor & Candy Camera & Grid & ScrapBook∑ART_AND_DESIGN∑4.1∑159∑19M∑10,000+∑Free∑0∑Everyone∑Art & Design∑7-Jan-18∑1.0.0∑4.0.3 and up
Coloring book moana∑ART_AND_DESIGN∑3.9∑967∑14M∑500,000+∑Free∑0∑Everyone∑Art & Design;Pretend Play∑15-Jan-18∑2.0.0∑4.0.3 and up

Código:

def mapper(_, line):
words = line.split('∑')

Resultado:
[4.0.3 and up, 4.0.3 and up]

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para imprimir las palabras después del último carácter ∑ en cada línea, puedes usar el método split para dividir la línea en una lista de palabras y luego usar indexación para obtener la última palabra en la lista. Aquí está el código:

    with open('archivo.txt') as f:
        for linea in f:
            palabras = linea.strip().split('∑')
            print(palabras[-1])
    

    En este código, abrimos el archivo y recorremos cada línea. Quitamos los espacios en blanco al final de la línea y luego la dividimos en una lista de palabras usando ‘∑’ como delimitador. Finalmente, imprimimos la última palabra en la lista usando la indexación (palabras[-1]). Esto imprimirá las palabras después del último caracter ‘∑’ en cada línea del archivo.

    Ten en cuenta que si la última palabra en una línea contiene espacios en blanco, este código solo imprimirá la primera palabra después del caracter ‘∑’. Si necesitas imprimir todas las palabras después del carácter ‘∑’, puedes usar el slicing así:

    with open('archivo.txt') as f:
        for linea in f:
            palabras = linea.strip().split('∑')
            print(palabras[-1:][0])
    

    El slicing [-1:] obtiene todos los elementos desde el último elemento hasta el final de la lista, y el índice [0] selecciona el primer elemento de ese slicing (que es la última palabra después del caracter ‘∑’).

Comments are closed.