Título: Encasillar datos para una variable Publicado por: likeu en 26 Septiembre 2006, 20:16 pm buenas
Necesitaria saber si alguno me puede ayudar con esto. Tengo una cadena de texto y numeros, de cantidad indefinida. Necesito saber los 3 primeros caracteres que tiene esa cadena, como podria hacer? Ejemplo: "PALABRA1.ESTA ES LA PALABRA UNO" Necesitaria guardar en una variable X las 3 primeras letras, en este caso seria Citar X = "PAL" ======================== Tambien queria saber si se puede hacer con cualquier parte de la frase, por ejemplo. Citar X = "STA" (de ESTA)======================== Recuerden que la frase es aleatoria por lo tanto tiene un LARGO indefinido. Likeu! Título: Re: Encasillar datos para una variable Publicado por: NYlOn en 26 Septiembre 2006, 23:31 pm Código: 'Suponiendo que Datos tiene eso de Palabra1... Título: Re: Encasillar datos para una variable Publicado por: likeu en 28 Septiembre 2006, 14:38 pm Claro, pasa que yo no se en donde va a estar loq ue necesito, entonces no puedo saber si es desde la posicion 13 o no. Entendes.
Dentro de la cadena, lo que necesito va a variar de lugar, e incluso, la cadena puede variar de tamaño. ================== A modo de ejemplo. Suponiendo qeu la palabra a buscar es HOLA. Citar Af."//()&$HOLA145Gt0%$&CAS ASHOLA$&2456&$#$TECGE!# AO$&//PRET"%/CIREHOLA$# AL!=$K/&%F!2553$)HOLA3985490F$#&%&$="DKSEJSJS Cualquiera de esas cadenas podria ser valida. Puede variar de posicion, y puede variar de tamaño. Como lograria conseguir de esas cadenas la palabra "HOLA" en una variable, esa seria la pregunta. ==================== ==================== Adoso otra pregunta. Si tuviera una cadena como las de arriba, y supongamos que quiero BORRAR la palabra "HOLA" de las cadenas, se podria hacer de alguna manera? ///////////////////////////////////////// EDITO ///////////////////////////////////////// Tengo otra, si se que lo que necesito esta al principio de la cadena. Supongamos que necesito la palabra "HOLA" como antes. Pero...... no se el tamaño de la cadena. como pondria en una variable toda la cadena retirando la palabra "HOLA" Ejemplo: Citar HOLA1234567890 y quiero que me quedeCitar 1234567890 en la variableo tengo Citar HOLA5284756AFJEOPROT12 y quiero qeu me quedeCitar 5284756AFJEOPROT12 ///////////////////////////////////////////////// Se que es mucho, pero espero que me puedan ayudar Mil gracias por la atencion =) Likeu! Título: Re: Encasillar datos para una variable Publicado por: NYlOn en 29 Septiembre 2006, 01:14 am A ver si te entendi:
¿Lo que queres hacer es buscar una palabra que puede ser HOLA o cualquier otra, que no esta delimitada por ningun caracter y que NO LA CONOCES? Título: Re: Encasillar datos para una variable Publicado por: Syphroot en 29 Septiembre 2006, 03:11 am Pues la solucion es la misma que te proponen, con las instrucciones:
Mid Left Right puedes hacer todo eso, en apoyo, para localizar los caracteres iniciales de la cadena que buscas se hace con InStr esa instruccion te devuelve la posicion de la primer ocurrencia que encuentra, si no encuentra nada devuelve cero. por ejemplo tu cadena es: szStr = "345&%$#26HOLA8)('¡" ' Tu quieres sacar la cadena HOLA, para esto debemos suponer que la cadena que quieres extraer ya la conoces no?, por lo tanto puedes conocer su longitud, y no solo de esta sino de cualquier cadena!!!! Citar Dim szStr As String Dim szSaca As String Dim szNueva As String Dim long1 As Long Dim long2 As Long Dim lPos As Long szStr = "345&%$#26HOLA8)('¡" szSaca = "HOLA" long1 = Len(szSaca) long2 = Len(szStr) lPos = InStr(1, szStr, szSaca) If lPos > 0 Then ' si hay ocurrencias szNueva = Mid(szStr, lPos, long1) Else szNueva="" End If Bien, ese es el codigo para extraer la cadena la parte HOLA de la cadena PERO... tienes que tomar muchas mas cosas en cuenta pues quiza haya patrones repetidos de la misma cadena y extraigas lo que no es necesario... en conclusion, InStr es la solucion a lo que quieres, estudia esta funcion y con las otras 3 podras hacer muchas cosas con cadenas.... saludos Título: Re: Encasillar datos para una variable Publicado por: likeu en 29 Septiembre 2006, 03:31 am Exelente, gracias.
Voy a tener que revisar un poco esas funciones asi me las arreglo solo... Gracias por el tiempo muchachos. |