extraer texto de parentesis o corchete

41 views
Skip to first unread message

jmoranjara

unread,
Mar 7, 2017, 10:37:20 AM3/7/17
to WINDEV-LA

Buenos dias quisiera saber como extraer el texto de llaves para luego meterlo a un array por ejemplo: {texto1}{texto2}{texto3}. espero que puedan ayudarme. lo necesito para trabajar con un webservices json. 

Gracias.
Juan Morán

Sam Meci

unread,
Oct 12, 2017, 4:38:12 PM10/12/17
to WINDEV-LA
Puedes ocupar la funcion ExtractString. , en ayuda de la funcion stringcount

jmoranjara

unread,
Oct 13, 2017, 2:20:22 PM10/13/17
to WINDEV-LA
Muchas Gracuas Sam :)

Alexánder Murcia Mosquera

unread,
Oct 16, 2017, 10:24:13 AM10/16/17
to WINDEV-LA
Te anexo esta función que diseñe para que la adecues a lo que necesites:
//CarGuiones, CarParentesis, CarCorchetes, CarLlaves son constantes globales con valores: 1, 2, 3, 4
//Ejercicio
//sTexto is String = "{texto1}"
//sTextoSolo is String = GF_GenExtraerDatoEntreCaracteres(sTexto, CarLlaves) // Resultado: texto1

PROCEDURE GF_GenExtraerDatoEntreCaracteres(sCadena, nCaracter = CarGuiones)
nInicial is int
nFinal is int

SWITCH nCaracter
CASE CarGuiones:
nInicial = Position(sCadena, "-", 1, FromBeginning)
nFinal = Position(sCadena, "-", Length(sCadena), FromEnd)
CASE CarParentesis:
nInicial = Position(sCadena, "(", 1, FromBeginning)
nFinal = Position(sCadena, ")", Length(sCadena), FromEnd)
CASE CarCorchetes:
nInicial = Position(sCadena, "[", 1, FromBeginning)
nFinal = Position(sCadena, "]", Length(sCadena), FromEnd)
CASE CarLlaves:
nInicial = Position(sCadena, "{", 1, FromBeginning)
nFinal = Position(sCadena, "}", Length(sCadena), FromEnd)
END

IF nInicial = 0 _OR_ nFinal = 0 THEN RESULT ""

nInicial++
nFinal--

RESULT NoSpace(Middle(sCadena, nInicial, nFinal - nInicial + 1))

Ahora, si lo que necesitas es lo que expones:
sCadena is String = "{texto1}{texto2}{texto3}"
sResultado is String = GF_GenExtraerDatoEntreCaracteres(sTexto, CarLlaves)
arrArreglo is Array of String
StringToArray(
sCadena, arrArreglo, "}{")
//arrArreglo = [texto1], 
[texto2], [texto3]

Si el array es tipo Structure, te debería servir igual...


El martes, 7 de marzo de 2017, 10:37:20 (UTC-5), jmoranjara escribió:
Reply all
Reply to author
Forward
0 new messages