Ver Mensaje Individual
  #1  
Antiguo 22-04-2005
Avatar de JuanBCT
JuanBCT JuanBCT is offline
Miembro
 
Registrado: ago 2004
Ubicación: Campana, Argentina
Posts: 57
Reputación: 20
JuanBCT Va por buen camino
Búsqueda muy específica en un string...

Hola! Les quería comentar acerca de un problemita que tengo, a ver si alguien me puede ayudar...

Hice una conversión de un RTF de un DBRichEdit a HTML, con una librería freeware que encontré por ahí. Me dí cuenta que tiene un par de errores, por lo que una vez que la grabo la cargo en un RichEdit auxiliar y la recorro corrigiendo errores.
Creía que ya lo tenía pero me dí cuenta que si uno quiere comenzar una línea con un espacio, a leer el HTML éste es obviado.

O sea, si yo tengo:
Código:
<B><I><U><FONT COLOR="#000000"><FONT FACE="Tahoma">
<FONT SIZE=-2> Sector Programación</FONT>
</FONT></FONT></U></I></B><BR>

...me va a tirar la frase "Sector programación" totalmente alineada a la izquierda, a pesar del espacio entre ">" y "S".

Averiguando, encontré que si uno reemplaza dicho espacio con "&nbsp", se convierte en un espacio tenido en cuenta. El código quedaría así:
Código:
<B><I><U><FONT COLOR="#000000"><FONT FACE="Tahoma">
<FONT SIZE=-2>&nbspSector programación</FONT>
</FONT></FONT></U></I></B><BR>

Bien, ahora lo que yo pretendo es corregir esto por código; cargo cada línea como un String y busco, el tema es que si pongo "reemplazar cada ' ' por '&nbsp'; se metería por ejemplo entre FONT COLOR, FONT FACE, etc... por lo que dejaría de funcionar bien el código. Esto lo haría así:
Código:
SS:=StringReplace(SS, ' ','&nbsp', [rfReplaceAll, rfIgnoreCase]);
Mi pregunta es: ¿cómo hago para realizar el reemplazo anterior pero limitando la búsqueda sólo en el texto? Estaba pensando que puedo hacer algo como "buscar sólo en lo que haya entre un > y un <", ya que salvo el texto en sí en todo lo demás que cumple esa condición no hay nada....

Bueno, espero que alguien me pueda ayudar; disculpen que el mensaje sea tan largo! Traté de ser lo más específico posible...
Un saludo, y desde ya muchas gracias.

Juan

Última edición por JuanBCT fecha: 22-04-2005 a las 17:16:48. Razón: Ocupaba muchas pantallas horizontales
Responder Con Cita