[Cascavel-pm] Adicionar espaço entre letras.

Gilmar Júnior gilmarjr em im.ufba.br
Quinta Novembro 10 06:36:43 PST 2005


Luis Campos de Carvalho escreveu:

>--- Sandro de Almeida Filho <sandroalmeidafilho em gmail.com> escreveu:
>  
>
>>Olá monges,
>>Gostaria de saber como adicionar espaços entre as letras de uma
>>palavra, exemplo:
>>
>>$variavel = "teste";
>>
>>logo, ficaria:
>>
>>$variavel  = "t e s t e";
>>
>>O processo ao contrario (remover espaços é fácil) porém este eu ainda
>>não consegui...
>>
>>Alguma solução?
>>    
>>
>
>  Muitas. A minha preferida (e a mais simples de usar, IMHO) é 
>
>  $texto =~ s// /g;
>
>  Espero que isso ajude.
>  
>
Essa solução é massa!

Só tem o incoveniente de casar com ^ e $ também, assim espaços são
inseridos antes e depois do texto...

uma solução (nem um pouco elegante) seria algo como:
$texto = join(' ',split(//,$texto)); # <-- Isso é bem ineficiente, né?

Aproveitando a deixa.. já tive o problema de pegar um texto e dividi-lo
em partes não maiores que 200 caracteres, mas de preferência que as
quebras ocorram em espaços... resolvi assim:

push @partes, $1 while $text =~ /(.{1,200})(?:\s+|$)/g;

Tentei fazer diretamente com split, mas não consegui achar uma regex que
funcionasse...
será que seria possível??

Gilmar.


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