Cadena dentro de otra cadena en cualquier posición
Necesito encontrar una función que me permita extraer determinada cantidad de caracteres de una cadena, dependiendo de la posición. Existe LEFT y RIGHT, pero necesito obtener los datos de cualquier posición. Ejemplo
Si tengo la cadena:
A="Esta es mi cadena [ ] principal [ ] para el ejemplo"
¿Cómo almaceno en una variable B cualquier cantidad de caracteres?, es decir necesito obtener los todos caracteres que se encuentren antes del primer corchete y todos los que se encuentren antes del segundo corchete que abre, pero antes del primero que cierra, esto es:
Necesito extraer: Esta es mi cadena
Y principal.
Es decir
B= "Esta es mi cadena"
C="Principal"
D= "Para el ejemplo"
Notar que el tamaño de la cadena tanto la de origen como la que se extrae puede variar, tanto de contenido como de longitud.
Ojalá pudieran echarme una manita...
El Substr (No me funcionó)
PD. Los datos los obtengo de un campo tipo MEMO... Extraigo los datos y los almaceno en un arreglo
De tamaño N, es decir, tantos renglones y columnas como tenga el campo MEMO