![]() |
Eliminar contenido dentro de paréntesis
Hola,
Tengo un memo que contiene frases o palabras dentro de paréntesis y quiero eliminar todo ese contenido, incluido los paréntesis, había pensado en utilizar AnsiReplaceStr pero al contener diferentes palabras no he sabido continuar, alguien me puede ayudar o indicarme como debería de hacerlo? Dejo un ejemplo por si han quedado dudas Código:
Texto de (eliminar_esto) ejemplo. |
Hola...
Algo rápido y de memoria:
Saludos... |
Puede haber mas de una ocurrencia? Es decir:
Código:
Texto de (eliminar_esto) ejemplo (esto tambien). |
antes de nada agradecer el código a maeyanes, aun no he podido hacer la prueba.
Cita:
Así es AgustinOrtu, en el memo existen mas ocurrencias, error mio al no indicarlo.. como ya he dicho no he podido hacer la prueba pero supongo utilizando el código maeyanes y colocando un "for" que recorrar todo el memo debería de ser suficiente, ¿no? Gracias por los comentarios a ambos :) |
Podrias usar una expresion regular o simplemente implementar un "analisis de lexico" que es una forma eficiente y simple de implementar un parser muy basico (que aplica a este caso).
Hay todo un tutorial de esto en https://en.wikibooks.org/wiki/Compil...xical_analysis Ajustarlo se ve simple. Como sea, es solo recurrer caracter por caracter, detectar si los caracteres que interesan y acumular lo demas, que parece aun mas simple en tu caso: En pseudocodigo:
|
¿Hay paréntesis anidados?
Código:
Esto es (un ejemplo(de paréntesis) anidado) |
La funcion System.Pos devuelve la primera ocurrencia del string indicado
Tenes que implementar algo mas sofisticado como comenta mamcx |
Una manera muy sencilla de hacerlo:
|
Jeje, ya me vole la funcion, muy buena por cierto.
Saludos. |
La franja horaria es GMT +2. Ahora son las 09:12:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi