[Cascavel-pm] Reconhecer com e sem acento

Nelson Ferraz nferraz em gmail.com
Segunda Julho 23 03:49:04 PDT 2007


On Jul 18, 2007, at 9:20 PM, <fernandolouis em terra.com.br>  
<fernandolouis em terra.com.br> wrote:

> O que eu quero é reconhecer uma palavra dentro de uma string, com  
> ou sem acentuação.
>
> Por exemplo:
>
> $palavra = "Manual de referência rápida";
>
> if ($palavra =~ /referencia/) { # entrar se achar "referencia"  
> dentro de $palavra... mesmo sem acento.
>
> }

O jeito é "desacentuar" a string, e depois fazer o match:

	use Text::Unaccent;
	
	my $string = "Manual de referência rápida";
	
	my  $unaccented = unac_string('utf8', $string);
	
	warn "Testing '$unaccented'\n";
	
	if ( $string =~ /referencia/ ) {
		# ...
	}

(Se a codificação não for 'utf8', tente 'latin1' -- talvez você tenha  
que preparar o seu programa para as duas hipóteses)

[]s

Nelson



Mais detalhes sobre a lista de discussão Cascavel-pm