java.lang.Object
io.github.lvrodrigues.fonema.Fonema

public final class Fonema extends Object
Implementação do algorítimo BuscarBR para pesquisa fonética no idioma português.
Version:
$Ramo: main$
Author:
$Criado por: $, $Alterado por: $
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final char[][]
    Lista de caracteres acentuados que devem ser substituidos.
    private static final Pattern
    Expressão regular para ignorar os caracteres de A até Z e de 0 (zero) até 9 (nove) e remover os demais caracteres.
    private static final int
    Índice da coluna de troca de valores da matriz de caracteres inválidos.
    private static final int
    Índice da coluna de pesquisa da matriz de caracteres inválidos.
    private static final int
    Índice da coluna de expressões regulares para pesquisa de fonemas.
    private static final int
    Índice da coluna de troca de valores para a pesquisa de fonemas.
    private static final Object[][]
    Conjunto de expressões regulares (primeira dimensão) e seus caracteres de substituição (segunda dimensão).
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
    Construtor oculto, tornando uma classe utilitária.
  • Method Summary

    Modifier and Type
    Method
    Description
    private static String
    clean(String text)
    Limpa os caracteres acentuados e especiais do texto.
    private static String
    Remove caracteres duplicados consecutivamente.
    static String
    Processa um texto aplicando as regras do algorítimo BuscarBR.
    private static String
    Troca letras baseadas em expressões regulares.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • INVALID_CHARS

      private static final char[][] INVALID_CHARS
      Lista de caracteres acentuados que devem ser substituidos.

      Como o primeiro passo para obter o fonema é passar o texto para maiúsculo, não há necessidade de tratar os caracteres minúsculos acentuados.

      A primeira dimensão possui a lista de caracteres acentuados. A segunda dimensão poussui os caracteres de substituição.

    • INVALID_SEARCH_INDEX

      private static final int INVALID_SEARCH_INDEX
      Índice da coluna de pesquisa da matriz de caracteres inválidos.
      See Also:
    • INVALID_REPLACE_INDEX

      private static final int INVALID_REPLACE_INDEX
      Índice da coluna de troca de valores da matriz de caracteres inválidos.
      See Also:
    • INVALID_PATTERN

      private static final Pattern INVALID_PATTERN
      Expressão regular para ignorar os caracteres de A até Z e de 0 (zero) até 9 (nove) e remover os demais caracteres.
    • REPLACES

      private static final Object[][] REPLACES
      Conjunto de expressões regulares (primeira dimensão) e seus caracteres de substituição (segunda dimensão).
    • REPLACE_PATTERN_INDEX

      private static final int REPLACE_PATTERN_INDEX
      Índice da coluna de expressões regulares para pesquisa de fonemas.
      See Also:
    • REPLACE_VALUE_INDEX

      private static final int REPLACE_VALUE_INDEX
      Índice da coluna de troca de valores para a pesquisa de fonemas.
      See Also:
  • Constructor Details

    • Fonema

      private Fonema()
      Construtor oculto, tornando uma classe utilitária.
  • Method Details

    • process

      public static String process(String text)
      Processa um texto aplicando as regras do algorítimo BuscarBR.
      Parameters:
      text - Texto para extrair os fonemas.
      Returns:
      Fonemas.
    • duplicates

      private static String duplicates(String text)
      Remove caracteres duplicados consecutivamente.
      Parameters:
      text - Texto para processar.
      Returns:
      Fonema.
    • replaces

      private static String replaces(String text)
      Troca letras baseadas em expressões regulares.
      Parameters:
      text - Texto para manipular.
      Returns:
      Texto manipulado.
    • clean

      private static String clean(String text)
      Limpa os caracteres acentuados e especiais do texto.
      Parameters:
      text - Texto para ser limpo.
      Returns:
      Texto manipulado.