Classe Collator [resolvido]

Galera,

Tenho um projeto pra entregar na Faculdade que le dois arquivos textuais

um primeiro arquivo possui diversas palavras que formarao um indice remissivo

o segundo arquivo trata-se de qualquer texto que vai ser comparado palavra a palavra e se alguma palavra do texto pertencer ao indice, 'e armazenado um registro da linha onde se encontra esta palavra …

o trabalho ja esta pronto mas com uma pequena falha que me incomoda … e com certeza a professora vai cutucar a ferida com pimenta …

Collator collator = Collator.getInstance();
collator.setStrength(Collator.PRIMARY);

int compara = collator.compare("Programa", "programa");
if (compara== 0) 
{
  System.out.println(" iguais ");
} 
else
{
  System.out.println("diferentes");
}

quando as strings Programa, e programa sao comparadas, o programa me diz que sao igual devido ao

collator.setStrength(Collator.PRIMARY);

era exatamente isso que eu queria …

[color=red]A DUVIDA ![/color]
teria como comparar duas Strings e ignorar uma virgula apos a string ?

na verdade nao so uma virgula mas qualquer tipo de simbolo …

[quote]programa == programa[color=red]![/color]
programa == programa[color=red]?[/color][/quote]

utilizando o Collator ?
Li a API e nao achei nada a respeito …

Esse tipo de coisa o Collator não vai ignorar…

Ele ignora acentuação, ou coisas que interfiram na palavra em si, mas não simbolos extras antes e depois dela.

Talvez isso possa lhe ser util:

[code]/*
replacex by peerless
*/

public String replacex(String s, String… r) {
String retorno = s;
if ((r.length % 2) == 1) return null;
else {
for (int i = 0;i<r.length;i+=2)
retorno = retorno.replace(r[i],r[i+1]);
}
return retorno;
}[/code]

uso: texto = replacex(texto,"!","","?","",".","",",","") …etc

use uma Expressão Regular na substituição. Ao invés de

texto = replacex(texto,"!","","?","",".","",",","")

use

texto.replace("[.,!?:]","")

os colchetes em ER representam uma lista. Logo, você pode listar tds os caracteres que devem ser substituidos dentro dos colchetes e substituir por uma string vazia sem a necessidade de criar uma função nova pra isso. Segue um bom guia de expressões regulares: http://guia-er.sourceforge.net/