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
CitarX = "PAL"
========================
Tambien queria saber si se puede hacer con cualquier parte de la frase, por ejemplo.
CitarX = "STA"
(de ESTA)
========================
Recuerden que la frase es aleatoria por lo tanto tiene un LARGO indefinido.
Likeu!
'Suponiendo que Datos tiene eso de Palabra1...
X = Left(Datos, 3) 'Obtenes las 3 primeras letras
Y = Mid(Datos, 13, 3) 'Obtenes las 3 letras que estan a partir de la posicion 13
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.
CitarAf."//()&$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:
CitarHOLA1234567890
y quiero que me quede
Citar1234567890
en la variable
o tengo
CitarHOLA5284756AFJEOPROT12
y quiero qeu me quede
Citar5284756AFJEOPROT12
/////////////////////////////////////////////////
Se que es mucho, pero espero que me puedan ayudar
Mil gracias por la atencion =)
Likeu!
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?
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
Exelente, gracias.
Voy a tener que revisar un poco esas funciones asi me las arreglo solo...
Gracias por el tiempo muchachos.