substituir o numero escrito por decimais

1. substituir o numero escrito por decimais

MARCELO OLIVEIRA DE NASSAU
nassau

(usa Outra)

Enviado em 05/04/2010 - 10:53h

BOM DIA ..
ESTOU PRECISANDO DE AJUDA
TENHO UM SCRIPT EM CGI
QUE BUSCA O PRAZO E COLOCA NO SITE
SO QUE O DOCUMENTO QUE EU BUSCO SÃO TODOS DESPADRONIZADOS

ENTAO QUERIA UM SCRIPT QUE TROCA O NUMEROS ESCRITOS POR NUMEROS DECIMAIS

EXEMPLO : SUBSTITUIR CINCO POR 5



  


2. substituir o numero escrito por decimais

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/04/2010 - 17:02h

Vc precisa de algo simples assim ou algo mais complexo??? Regex sao justamente para facilitar o mauseio de documentos nao padronizados. Eu coloquei um exemplo me basico... nao sei se vai serve!

use strict;
use warnings;

my @num = (0..9);
my %num_ext = ( 0 => 'zero',
1 => 'um',
2 => 'dois',
3 => 'tres',
4 => 'quatro',
5 => 'cinco',
6 => 'seis',
7 => 'sete',
8 => 'oito',
9 => 'nove');

my $string = "Esta e 1 string com 10 numeros... 0 1 5 8 7";

foreach my $key (keys %num_ext){
$string =~ s/$key/$num_ext{$key} /g;
}

print $string, "\n";


Gera a saida:

Esta e um string com um zero numeros... zero um cinco oito sete


3. Desculpe a Ignorância

MARCELO OLIVEIRA DE NASSAU
nassau

(usa Outra)

Enviado em 20/04/2010 - 17:54h

precisava substituir por exemplo

o programa procura cento e vinte dias

e converte para 120 dias

fiz manualmente assim

cento\s*\w*\s*vinte dias/120 dias

fiz manualmente de 1 a 20 que eu preciso
mas queria simplificalo !
pois sou leigo em perl





4. Use um hash

Thiago Glauco Sanchez
ticursos

(usa Debian)

Enviado em 17/05/2010 - 11:26h

Eu recomendo que voce crie hashs com o seguinte formato:

$regex => numero.

Exemplo resumido feito no solaris modifica o cento e vinte por 120:

$ perl -e '
> use strict;
> use warnings;
>
> my %tabela = ( um => 1,
> dois => 2,
> cinco => 5,
> vinte => 20,
> cem => 100,
> "cento e " => 1,
> );
>
> my $str1 = "Este edificio tem cento e vinte anos.";
>
> foreach (keys %tabela){
> $str1 =~ s/$_/$tabela{$_}/;
> };
>
> print $str1, "\n";'
Este edificio tem 120 anos.
$

O seu desafio sera modificar o hash de acordo com os formatos que voce precise.

> my %tabela = ( um => 1,
> dois => 2,
> cinco => 5,
> vinte => 20,
> cem => 100,
> "cento e " => 1,
> );







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts