none
Comparar palavras em duas frases RRS feed

  • Pergunta

  • Ola

    Possuo um arquivo ini onde extraio os dados:

    Dim Arquivo As String = LerIni(Arquivo, "Software", "Filtros", "Nenhum")

    Gostaria de comparar o texto de um textbox com o texto do arquivo, extraindo as palavras iguais.

    Ex.:

    Textbox = "Uso antivirus Avast em meu windows."

    Arquivo = "Avast | AVG | Avira"

    Resulttado = "Avast"

    Desde ja agradeco.

    • Editado Eliseu5 quinta-feira, 13 de agosto de 2015 17:34
    quinta-feira, 13 de agosto de 2015 15:55

Respostas

  • Olá Eliseu5,

    preparei esse código para você, espero que lhe seja útil.

            Dim TextBox As String = "Uso antivirus Avast em meu windows."
            Dim Arquivo As String = "Avast | AVG | Avira"
            Dim Resultado As String = ""
    
            Dim palavras As String() = Arquivo.Split(New Char() {"|"c})
    
            For contador As Integer = 0 To palavras.Length
                If TextBox.IndexOf(palavras(contador).Trim()) > -1 Then
                    If Resultado <> "" Then
                        Resultado = Resultado + ", "
                    End If
    
                    Resultado = Resultado + palavras(contador).Trim()
    
                End If
            Next
    
            ' Imprimir a variável Resultado em alguma Label


    Att, Lucio Rogerio


    Espero ter ajudado, se ajudei, por favor Vote como Útil, e se resolvi seu problema, clique em Marcar como Resposta.

    • Marcado como Resposta Marcos SJ sexta-feira, 14 de agosto de 2015 13:20
    • Não Marcado como Resposta Eliseu5 sexta-feira, 14 de agosto de 2015 16:41
    • Marcado como Resposta Eliseu5 sexta-feira, 14 de agosto de 2015 16:48
    sexta-feira, 14 de agosto de 2015 13:17

Todas as Respostas

  • Boa Tarde,

    Creio que poderá ser feito da seguinte maneira,

    1. Leia o arquivo e popule os itens individuais em um array.
    2. Depois disso use a função abaixo passando em cada loop do foreach a palavra e verificando na frase se existe alguma informação igual. (Para saber mais sobre o comando abaixo: Instr()
    variavel = instr(<parametros>) 
    
     txtbox.text = variavel
    

      3. A cima você já tem a listagem em um textbox da informação encontrada.

    Atenciosamente, Roberto Alves

    • Marcado como Resposta Marcos SJ quinta-feira, 13 de agosto de 2015 20:02
    • Não Marcado como Resposta Eliseu5 quinta-feira, 13 de agosto de 2015 21:49
    • Marcado como Resposta Marcos SJ sexta-feira, 14 de agosto de 2015 13:15
    • Não Marcado como Resposta Eliseu5 sexta-feira, 14 de agosto de 2015 16:41
    quinta-feira, 13 de agosto de 2015 20:01
  • Ola,

    Agradeço pela ajuda, mas nao consegui entender/resolver.

    Eu tenho uma frase em um textbox ("Uso antivirus Avast em meu windows.") e comparo com um arquivo txt com palavras ("Avast | AVG | Avira"). Se o arquivo txt tiver alguma palavra igual ao da frase, retorna positivo.

    quinta-feira, 13 de agosto de 2015 20:11
  • Bom dia,

    Justamente isso, eu sugeri que você importe o seu txt em array/list, e após isso usando esse comando instr, você consegue procurar palavras dentro de frases.

    Se lhe surgir dúvidas, leia a documentação oficial: Command Instr()

    Atenciosamente, Roberto Alves

    sexta-feira, 14 de agosto de 2015 13:15
  • Ola

    Cara é isso mesmo. Agradeço muito pela ajuda, apenas acrescentei o "-1" e funciona perfeitamente.

      For contador As Integer = 0 To palavras.Length - 1

    Obrigado mesmo.  :) 


    • Editado Eliseu5 sexta-feira, 14 de agosto de 2015 16:48
    sexta-feira, 14 de agosto de 2015 16:42