COMPARACAO DE STRINGS
Olá,
Estou tentando comparar duas strings:
String1: "Florianópolis" (com acento)
String2: "Florianopolis" (sem acento)
Na minha aplicação, estas palavras são iguais, como fazer isso?
Usando: If uCase(String1) = uCase(String2) then não funciona porque sempre retorna false (porque na verdade não são iguais - uma tem acento e outra não). Mas quero ignorar o acento.
Como fazer?
Estou tentando comparar duas strings:
String1: "Florianópolis" (com acento)
String2: "Florianopolis" (sem acento)
Na minha aplicação, estas palavras são iguais, como fazer isso?
Usando: If uCase(String1) = uCase(String2) then não funciona porque sempre retorna false (porque na verdade não são iguais - uma tem acento e outra não). Mas quero ignorar o acento.
Como fazer?
Crie uma funcao que voce substitua esse tipo de "incompatibilidade"
****** Código extraÃdo de Exemplo de Pesquisa Fonética de VB6Master ******
Public Function fncMudaNome(byval MudNome as string) as string
mudNome = Trim(mudNome)
'elimina letras acentuadas
mudNome = Replace(mudNome, "á", "a", , , vbTextCompare)
mudNome = Replace(mudNome, "Ã Â ", "a", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¢", "a", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¤", "a", , , vbTextCompare)
mudNome = Replace(mudNome, "ã", "a", , , vbTextCompare)
mudNome = Replace(mudNome, "a", "[aáà  à ¢à ¤ã]", , , vbTextCompare)
mudNome = Replace(mudNome, "é", "e", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¨", "e", , , vbTextCompare)
mudNome = Replace(mudNome, "ê", "e", , , vbTextCompare)
mudNome = Replace(mudNome, "à «", "e", , , vbTextCompare)
mudNome = Replace(mudNome, "e", "[eéà ¨êà «]", , , vbTextCompare)
mudNome = Replace(mudNome, "Ã", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¬", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "à ®", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¯", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "à ½", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¿", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "y", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "i", "[iÃà ¬à ®à ¯yà ¿à ½]", , , vbTextCompare)
mudNome = Replace(mudNome, "ó", "o", , , vbTextCompare)
mudNome = Replace(mudNome, "à ²", "o", , , vbTextCompare)
mudNome = Replace(mudNome, "Ã '", "o", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¶", "o", , , vbTextCompare)
mudNome = Replace(mudNome, "õ", "o", , , vbTextCompare)
mudNome = Replace(mudNome, "o", "[oóà ²à 'à ¶õ]", , , vbTextCompare)
mudNome = Replace(mudNome, "ú", "u", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¹", "u", , , vbTextCompare)
mudNome = Replace(mudNome, "à »", "u", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¼", "u", , , vbTextCompare)
mudNome = Replace(mudNome, "u", "[uúà ¹à »à ¼]", , , vbTextCompare)
mudNome = Replace(mudNome, "à ±", "n", , , vbTextCompare)
mudNome = Replace(mudNome, "n", "[nà ±]", , , vbTextCompare)
mudNome = Replace(mudNome, "'", "''", , , vbTextCompare)
mudNome = Replace(mudNome, " ", "%", , , vbTextCompare)
mudNome = Replace(mudNome, "ç", "c", , , vbTextCompare)
mudNome = Replace(mudNome, "k", "c", , , vbTextCompare)
mudNome = Replace(mudNome, "c", "[cçk]", , , vbTextCompare)
mudNome = Replace(mudNome, "z", "s", , , vbTextCompare)
mudNome = Replace(mudNome, "z", "[sz]", , , vbTextCompare)
mudNome = Replace(mudNome, "s", "[sz]", , , vbTextCompare)
mudNome = Replace(mudNome, "w", "v", , , vbTextCompare)
mudNome = Replace(mudNome, "v", "[wv]", , , vbTextCompare)
fncMudaNome = mudNome
End Function
entao na hora de comparar, voce compara
if ucase(fncMudaNome("Florianopolis")) = ucase(fncMudaNome("Florianópolis")) then
****** Código extraÃdo de Exemplo de Pesquisa Fonética de VB6Master ******
Public Function fncMudaNome(byval MudNome as string) as string
mudNome = Trim(mudNome)
'elimina letras acentuadas
mudNome = Replace(mudNome, "á", "a", , , vbTextCompare)
mudNome = Replace(mudNome, "Ã Â ", "a", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¢", "a", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¤", "a", , , vbTextCompare)
mudNome = Replace(mudNome, "ã", "a", , , vbTextCompare)
mudNome = Replace(mudNome, "a", "[aáà  à ¢à ¤ã]", , , vbTextCompare)
mudNome = Replace(mudNome, "é", "e", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¨", "e", , , vbTextCompare)
mudNome = Replace(mudNome, "ê", "e", , , vbTextCompare)
mudNome = Replace(mudNome, "à «", "e", , , vbTextCompare)
mudNome = Replace(mudNome, "e", "[eéà ¨êà «]", , , vbTextCompare)
mudNome = Replace(mudNome, "Ã", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¬", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "à ®", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¯", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "à ½", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¿", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "y", "i", , , vbTextCompare)
mudNome = Replace(mudNome, "i", "[iÃà ¬à ®à ¯yà ¿à ½]", , , vbTextCompare)
mudNome = Replace(mudNome, "ó", "o", , , vbTextCompare)
mudNome = Replace(mudNome, "à ²", "o", , , vbTextCompare)
mudNome = Replace(mudNome, "Ã '", "o", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¶", "o", , , vbTextCompare)
mudNome = Replace(mudNome, "õ", "o", , , vbTextCompare)
mudNome = Replace(mudNome, "o", "[oóà ²à 'à ¶õ]", , , vbTextCompare)
mudNome = Replace(mudNome, "ú", "u", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¹", "u", , , vbTextCompare)
mudNome = Replace(mudNome, "à »", "u", , , vbTextCompare)
mudNome = Replace(mudNome, "à ¼", "u", , , vbTextCompare)
mudNome = Replace(mudNome, "u", "[uúà ¹à »à ¼]", , , vbTextCompare)
mudNome = Replace(mudNome, "à ±", "n", , , vbTextCompare)
mudNome = Replace(mudNome, "n", "[nà ±]", , , vbTextCompare)
mudNome = Replace(mudNome, "'", "''", , , vbTextCompare)
mudNome = Replace(mudNome, " ", "%", , , vbTextCompare)
mudNome = Replace(mudNome, "ç", "c", , , vbTextCompare)
mudNome = Replace(mudNome, "k", "c", , , vbTextCompare)
mudNome = Replace(mudNome, "c", "[cçk]", , , vbTextCompare)
mudNome = Replace(mudNome, "z", "s", , , vbTextCompare)
mudNome = Replace(mudNome, "z", "[sz]", , , vbTextCompare)
mudNome = Replace(mudNome, "s", "[sz]", , , vbTextCompare)
mudNome = Replace(mudNome, "w", "v", , , vbTextCompare)
mudNome = Replace(mudNome, "v", "[wv]", , , vbTextCompare)
fncMudaNome = mudNome
End Function
entao na hora de comparar, voce compara
if ucase(fncMudaNome("Florianopolis")) = ucase(fncMudaNome("Florianópolis")) then
Tópico encerrado , respostas não são mais permitidas