Método replaceAll

Fala galera…

Estou com a seguinte string:

String url = " <body><h1>Teste</h1><font face='Verdana'>Fonte verdana </font><font color="Red" size="4">Teste de cor e tamanho</font></body>";

Vou pegar o html de uma página web e guardar nesta string…Mas preciso substituir os atributos da tag font(
size,face ou color) por style = “color:red” ,style =“font-family:Verdana”…E
substituir em todas as tags font desta string…

Estou fazendo da seguinte forma(utilizando replaceAll):

String urlFormatada = url.replaceAll("color=","style = 'color:").replaceAll("face=","style = 'font-family:'").replaceAll("size=","font-size:;");

A urlFormatada fica assim:


<body><h1>Teste</h1><font style='font-family: Verdana'>Fonte verdana
</font><font style ='color: Red'  style = 'font-size=4'>Teste de cor e tamanho</font></body>

O problema é que desta forma não funciona pois em uma tag font que tivesse cor e tamanho(como no exemplo),
teria 2 style em uma mesma tag e na hora de transformar essa string em html vai
dar problema,pois o html não reconhece mais de um style(ele vai fazer ou o tamanho ou a cor).

Ia dar certo se ficasse assim:


<body><h1>Teste</h1><font style='font-family: Verdana'>Fonte verdana
</font><font style ='color: Red ;font-size=4'>Teste de cor e tamanho</font></body>

Por isso precisaria de alguma ideia para fazer essa substituição dos atributos da tag font para style sem
duplicar o style em uma mesma tag font.

vlw []'s

usa regex em vez de String

oi vanzella blz?

Pode me passar como este método vai ajudar com minha dúvida?

desde já obrigado.

[]'s

Consegui fazer,sem utilizar regex:

String Antes:


<body><h1>Teste</h1><font face='Verdana' size='12'>Fonte verdana </font><u>EEEE</u><font color='red' face='arial' size='4'>Teste de cor e tamanho</font></body>

 String retiraEstilo = url.replaceAll("<font style='","<font");
 String x = retiraEstilo.replaceAll("size='","font-size:").replaceAll("face='","font-family:").replaceAll("color='","color:")
.replaceAll("<font","<font style='");
 String y = x.replaceAll("'",";").replaceAll("=;","='").replaceAll(";>","'>");

String Depois:


<body><h1>Teste</h1><font style=' font-family:Verdana; font-size:12'>Fonte verdana </font><u>EEEE</u><font style=' color:red; font-family:arial; font-size:4'>Teste de cor e tamanho</font></body>

Ficou meio gambiarra,mas se alguém souber uma forma melhor com o regex e puder me passar ficaria satisfeito.

obrigado amigos. []'s