• Viernes 1 de Noviembre de 2024, 17:31

Autor Tema:  Como encontrar una cadena de carácteres dentro de un vector?  (Leído 2237 veces)

Richi254

  • Miembro activo
  • **
  • Mensajes: 56
  • Nacionalidad: es
    • Ver Perfil
Como encontrar una cadena de carácteres dentro de un vector?
« en: Martes 7 de Octubre de 2008, 12:05 »
0
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

  • Moderador
  • ******
  • Mensajes: 420
  • Nacionalidad: sv
    • Ver Perfil
    • http://www.electronicayotros.blogspot.com/
Re: Como encontrar una cadena de carácteres dentro de un vector?
« Respuesta #1 en: Martes 7 de Octubre de 2008, 22:22 »
0
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

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
  1. y=[x(1:5)]
  2.  
y luego verificar si esa "y" es igual a tu cadena con un if por ejemplo
Código: Text
  1. if y == [6,5,2]
  2.  
y ahi hacer lo que necesitas
Por favor leer esto antes de postear. Gracias
NO alimenten al TROLL y morirá
¿Querés ayudar?, pues doná comida gratis con un simple clic aqui ,sin trucos
photobucket , Google , wine y cutepdf Rock!!!


programacion,c,c++,
Microcontroladores,java,linux,videojuegos,
,.NET,asm,codigo
por favor este 2012 que sea

Richi254

  • Miembro activo
  • **
  • Mensajes: 56
  • Nacionalidad: es
    • Ver Perfil
Re: Como encontrar una cadena de carácteres dentro de un vector?
« Respuesta #2 en: Viernes 10 de Octubre de 2008, 12:22 »
0
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


:)