Programación Específica > Matlab
Como encontrar una cadena de carácteres dentro de un vector?
(1/1)
Richi254:
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
Toph:
--- Cita de: "Richi254" ---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
--- Fin de la cita ---
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
--- Código: Text ---y=[x(1:5)] y luego verificar si esa "y" es igual a tu cadena con un if por ejemplo
--- Código: Text ---if y == [6,5,2] y ahi hacer lo que necesitas
Richi254:
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
:)
Navegación
Ir a la versión completa