PARA QUE EU NAO REINVENTE A RODA

MARCOS 28/05/2013 14:41:35
#424150
Boa tarde,Colegas!
Preciso criar uma função que faça o seguinte:

Digamos que eu tenho duas variáveis do Tipo String:

Var1 = [Ô]5RED3243ES234FDSW[Ô]


e outra, que é um vetor:

Var2()

Esta variável vetor tem centenas de Itens,com os códigos variados.


O problema:

Como encontrar o código na variável vetor ( Var2() ), que é mais parecido com o código principal (Var1)



Obs: Eu posso criar uma função para isto,mais para não desperdiçar trabalho sem necessidade,gostaria de
saber se já existe uma função que realize esta tarefa.







KERPLUNK 28/05/2013 15:41:34
#424159
Resposta escolhida

Dim variavel As String = [Ô]XYZ[Ô]
Dim valores As New List(Of String)()
valores.Add([Ô]ABC[Ô])
valores.Add([Ô]DEF[Ô])
valores.Add([Ô]XXXYZ[Ô])
Dim resultado As String = valores.FirstOrDefault(Function(v) v.Contains(variavel))
MARCOS 29/05/2013 13:57:53
#424205
KERLUNK,
Agradeço sua boa vontade em ajudar.No entanto,o problema é mais complexo que isto....

Não se trata de localizar o código, que esta contido dentro de outro,ou seja parte.


Trata-se de verificar quais dos códigos candidatos (Da variável Var2), que é mais [Ô]Parecido[Ô] com o código da variável Var1

O que preciso é de um algoritmo ,que verifique o mais [Ô]semelhante[Ô],[Ô]parecido[Ô] .

Algum colega,sabe se existe uma função ou classe para isto?????



KERPLUNK 29/05/2013 15:00:40
#424206
Primeiro, você vai ter que definir o que é [Ô]semelhante[Ô] para depois podermos fazer um algoritmo para isso
MARCOS 29/05/2013 16:45:38
#424212
Tem razão KERPLUNK.
Por semelhante, quero dizer:

A String mais próxima da igualdade, com uma outra String padrão fornecida.

Por exemplo:

Tenho uma variável tipo String:

Var1 = [Ô]BATATA[Ô]

Quero descobrir quais das que estão abaixo é a mais parecida:

Varx1 = [Ô]BATETI[Ô]

Varx2 = [Ô]BATATEVE[Ô]

Varx3 = [Ô]BATALUVEDW[Ô]

Neste caso a mais próxima será a String da variável Varx2.

Eu não sou preguiçoso, e se for necessário vou parar o que estou fazendo e criar uma função para isto.
Mas,não me parece inteligente fazer isto,se já houver uma função pronta que realize a tarefa.
Por isto,gostaria de saber dos colegas,se já existe função em VB (6.0 ou VB.NET) que resolva o problema.








KERPLUNK 29/05/2013 17:08:45
#424213
Da maneira que você quer, prontinho, não existe. O que você quer é implementar a funcionalidade SoundEx, que pode ser mais ou menos o que você quer. Basicamente, SoundEx, é algo como [Ô]Soa como[Ô]. Existem várias opções dessa implementação por aí, você vai ter que procurar a que melhor te atenda, mas acho que esse link que passei, é bem parecido com o que você quer.
MARCOS 31/05/2013 08:17:40
#424248
Obrigado,Kerplunk!
Tópico encerrado , respostas não são mais permitidas