getStringRegExp


([N1] filipeagg) #1

Por más que lea el articulo http://velneo.es/info_v7_71_es/general/asistente_de_formulas/#getstringregexp
no tengo claro el uso de la función getStringRegExp.

Adjunto imagen con lo que deseo hacer:

[attachment=25338,1978]




([N1] Mario) #2

Para eso, puede utilizar vTools, que trae las funciones de parseo XML y en este caso, te serviría.

Saludos


([N3] Humber) #3

segun parece, seria algo asi, si tengo un campo con el contenido “i am a title”
al hacer esto,
getStringRegExp(#campo,“i am a titlle”,0,0,0)
devolveria
“i am a title” solo si coincide o si existe en la cadena, de lo contrario vendra vacio…


([N4] eic) #4

Hola.

Da la impresión de que la función getStringRegExp tiene algún problema. Debería funcionar con “(.*?)” (al menos, en algunas páginas dicen que es así), pero no devuelve nada. Y otras cosas que he probado, encontradas por ahí también, no parecen funcionar.

Sorry.

Fran Varona


([N1] filipeagg) #5

Les remito la respuesta de soporte, por si ayuda a alguien:

Buenos días, Filipe.

En los siguientes ejemplo puedes ver su uso, comprobando los retornos.

“” + getStringRegExp(“I am a title”, “]+)>”, 0,0,0) + “n” +
“” + getStringRegExp(“I am a title”, “]+)>”, 0,0,1) + “n” +
indexOfRegExp(“I am a title”, “]+)>”, 0,0) + “n” +
getStringRegExp(“I am a title”, “]+)>”, 0,0,0) + “n” +
getStringRegExp(“I am a title”, “]+)>”, 0,0,1) + “n” +
indexOfRegExp(“I am a title”, “]+)>”, 0,0)

En el primer uso te retorna todo lo que encuentra en la expresión regular. En la segunda, hemos seleccionado que nos retorne solo la subexpresión 1, que indica que queremos únicamente lo que esta contenido en los primeros paréntesis.

La forma habitual para utilizar estas funciones es buscar las etiquetas y eliminarlas, en lugar de buscar el contenido como parece que tu estas haciendo. A continuación te indico como deberías construir la formula para obtener el resultado que indicas

Debes usar getStringRegExp para encontrar el texto que quieras e indexOfRegExp para encontrar la posición.

Si quieres eliminar, usa las funciones de reemplazo o manual ayudado por la función de posición.

Por ejemplo en tu caso sería:
replaceString(“I am a title”, getStringRegExp(“I am a title”, “]+)>”, 0,0,0) , “” )

Lo que si debes tener en cuenta es que las expresiones regulares no deben ser de modo Wildcard.

Al final lo estoy haciendo con javascript.

@Mario axos
No lo estoy haciendo con el vtools, porque busco optimización y rendimiendo.

Pongo una imagen con el codigo enviado por soporte. [attachment=25353,1980]




([N3] Humber) #6

ok, gracias por compartir la respuesta.!! :slight_smile: