[Floopy Correa] Localizar la occurencia de una letra en un string

15 views
Skip to first unread message

GNU Octave, aula virtual

unread,
May 26, 2015, 6:03:33 AM5/26/15
to octave_au...@googlegroups.com
Hay alguna función q me pueda hacer de localizador d la ubicacion en un vector fila?

Si por ejemplo tengo un vector fila 

x = "hola";

y compruebo q hay una letra q busco haciendo 

x == "o";

como podria hacer para encontrar la ubicación de esa letra?

JuanPi

unread,
May 26, 2015, 6:10:09 AM5/26/15
to octave_au...@googlegroups.com
Floppy la pregunta es muy buena. Y casi das la solución.

si

x = "hola";


entonces el vector

tf = (x =="o");


es

tf = [0 1 0 0];


Es decir que el vector tf tiene un "1" (el valor "verdadero", fijate que 
who tf
dice que es del tipo boolean, es decir valores lógicos: verdadero ó falso). 

Ok, hasta acá lo tenías, la pregunta es entonces como hago para obtener el índice (la posición) de ese "verdadero" en el vector tf
Para esto usamos la función find (inglés: encuentra), que nos devuelve el índice de todos los valores verdaderos en un vector booleano. Si ejecutamos

pos = find ( tf )


obtenemos el resultado deseado, en este caso:  2. 

Fijate que se puede hacer todo de un solo tiro

pos = find ( x == "o" );


Sin tener que crear el vector tf.

Hay otras funciones que nos permiten hacer cosas parecidas y tienen muchos usos. Voy a escribir una clase sobre esto. 

Gracias!
Reply all
Reply to author
Forward
0 new messages