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]
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: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í:
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 ‘∑’).