SoloCodigo
Programación Específica => Matlab => Mensaje iniciado por: Richi254 en Martes 7 de Octubre de 2008, 12:05
-
A ver lo que quisiera es poder encontrar dentro de un vector enorme de caracteres, una cadena concreta. Por ejemplo, si mi vector es así:
vector=
f89
FLASX024Y255
ADD11,0.075
*D11
Cada caracter es una posición del vector, es decir, vector(3)=9, y vector(8)=A, los retornos de carro(intros)lo toma como dos caracteres en blanco, o sea dos espacios, y los números como carácteres también(código ASCII). Entonces si quisiera encontrar dentro del vector la cadena:ADD11, por ejemplo, como lo podría hacer?
GRACIAS
-
A ver lo que quisiera es poder encontrar dentro de un vector enorme de caracteres, una cadena concreta. Por ejemplo, si mi vector es así:
vector=
f89
FLASX024Y255
ADD11,0.075
*D11
Cada caracter es una posición del vector, es decir, vector(3)=9, y vector(8)=A, los retornos de carro(intros)lo toma como dos caracteres en blanco, o sea dos espacios, y los números como carácteres también(código ASCII). Entonces si quisiera encontrar dentro del vector la cadena:ADD11, por ejemplo, como lo podría hacer?
GRACIAS
Bueno segun entiendo no sabes en que posicion del vector esta la cadena por lo que hay que ir verificando cada elemento o por lo menos en grupos ya que no especificas si sabes la longitud de la cadena o no.
seria algo asi:
primero tendrias que recortar el vector digamos averiguar sus primeros 5 terminos y luego verificar si esa "y" es igual a tu cadena con un if por ejemplo y ahi hacer lo que necesitas
-
Gracias por tu ayuda.
Al final lo conseguí de otra forma usando la función strfind, esta función se usa así:
strfind(vector,'cadena_a_buscar')
El resultado es la posición del primer caracter dentro del vector, por ejemplo:
s=[Esto es una cadena de prueba];
strfind(s,'cadena')
ans=
13
:)