str = "hola como estan chau"
str.split.each do |x|
print x,"\n"
end
Dara como resultado:
hola
como
estan
chau
Pero si tuvieramos (agregando signos de puntuacion entre las palabra):
str = "hola,como estan;chau"
str.split.each do |x|
print x,"\n"
end
La salida seria:
hola,como
estan;chau
Y en la mayoria de los casos, eso no es lo que buscamos, para obtener lo que queremos (separar todas las palabras, sin importar que las dividan), podemos recurrir a lo siguiente:
str = "hola,como estan;chau"
str.split(/,|\s|;/).each do |x|
print x,"\n"
end
O mejor aun
str = "hola,como estan;chau"
str.split(/\W/).each do |x|
print x,"\n"
end
Eso retorna las cuatro palabras separadas. El argumento /,|\s|;/ que se le paso a split , es una expresion regular que matchea el caracter coma, el punto y coma o espacio indicandole que tiene que tomar cualquiera de estos como separador, en el segundo caso, la expresion regular indica que tome como separador cualquier caracter que no sea alfanumerico. Como imaginaran, esto es bastante util para extraer facilmente palabras de textos webs, txts, etc...
Espero que les haya gustado, chau
No hay comentarios:
Publicar un comentario