Pregunta

Estoy tratando de analizar un archivo de texto que contiene un número variable de palabras y números por línea, como este:

foo 4.500 bar 3.00
1.3 3 foo bar

¿Cómo puedo leer el archivo delimitado por espacios en lugar de nuevas líneas? ¿Hay alguna forma de configurar el File("file.txt").foreach ¿Método para usar espacios en lugar de nuevas líneas como delimitador?

¿Fue útil?

Solución

Puedes usar

open('file.txt').read.split.each

para darle un iterador sobre el espacio (o nueva línea) palabras separadas.

Otros consejos

File.open ("file.txt"). Read.split ("") .E cada uno

La respuesta aceptada sorber El archivo, que puede ser un problema con grandes archivos de texto.

Una mejor solución es IO.foreach. Es idiomático y transmitirá el archivo Char por char:

File.foreach(filename," ") {|string| puts string}

Archivo de muestra que contiene "this is an example" resultados con

"this"
"is"
"an"
"example"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top