Recurso similar ao ?Comparar e Mesclar do Word? entre duas Strings

3 respostas
I

Bom tava querendo algo parecido com o recurso “Comparar e Mesclar do Word”, onde eu entraria com duas (Strings) e teria como resultado o grupo de palavras que são correspondentes entre as duas Strings.

Alguém já viu algo que realize essa tarefa ou algo parecido parecida? no início achei que seria fácil implementar mas sempre acho algum furo no que tinha imaginado.

3 Respostas

thundercas

Vamos lá… Você quer que o sistema identifique as LETRAS que são iguais nas 2 Strings ou você digitará diversas palavras em cada String e quer que o sistema identifique quando houver 2 PALAVRAS iguais???

I

na verdade é comparar quanto dois textos são similares
( se um texto esta contido dentro de outro levando em conta os seus fragmentos)

vamos a um exemplo

String str1 = “palavra1 palavra2 palavra3 palavra4 palavra5 palavra6 palavra7 palavra2 palavra3”;

String str2 = “palavra2 palavra3 palavra5 palavra6 palavra7”;

List = Compara(str1, str2); // Compara(texto referência, o que estou procurando)

resultado seria
sequencia 1 - "palavra2 palavra3 " posição X
sequencia 2 -“palavra5 palavra6 palavra7” posição Y

a segunda ocorrência de "palavra2 palavra3 " não entraria no resultado (tenho uma sequencia de-“palavra5 palavra6 palavra7” que vem antes dela.)

com isso eu saberia que todas as palavras de str2 estão contidas em str1 em uma sequencia coerente

e para List = Compara(str1, str2); eu teria um acerto de 6 palavras em 9.

Obs. a sequencia do que vem antes e o que vem depois é importante, tenho que encontrar a mesma sequencia.

comecei a elabora um algoritmo, mas fico falho e cada vez mais complexo, por isso to procurando algo pronto pra não estar reinventando a roda.

Obrigado

peczenyj

Vc poderia transformar str2 em um array de palavras com a função split e procurar por cada palavra na str1 através dos métodos indexOf() da classe String.

Crie um array com os resultados: sera facil combinar os resultados contiguos.

Criado 2 de março de 2008
Ultima resposta 2 de mar. de 2008
Respostas 3
Participantes 3