[Rio-pm] Ajuda com split
Ole Peter Smith
ole.ufg em gmail.com
Domingo Março 17 23:38:25 PDT 2013
o +antes de ] duvidoo.
0le
2013/3/18 Guilherme Alves <guilhermeareal+riopm em gmail.com>
> Só para registrar.
> Fiz isto:
>
> ($var1,$var2,$var3) = split(/[\/\s+]/,$linha,3);
>
>
> Estou conseguindo pegar separando direitinho, porém a $var3 está pegando
> uma quebra de linha.
> Já tentei dar até 2 vezes o chomp($linha) antes do split.
> Alguém sabe me dizer o pq disto estar acontecendo?
>
>
> Obrigado!
>
>
> 2013/3/18 Guilherme Alves <guilhermeareal+riopm em gmail.com>
>
>> Opa,
>>
>> eu fiz primeiro desta forma, pegando o primeiro espaço e depois separando
>> o que tem o /
>> Posso sim garantir que terá apenas uma barra.
>> Depois mudei para separar primeiro pelo / e depois pelo espaço pois
>> estava dando um problema estranho com a quebra de linha.
>>
>> Enfim. Resolvi o problema. Só que eu gostaria de aprender a fazer isto de
>> uma maneira mais simples, onde eu passaria as 3 variáveis de uma só vez.
>>
>> Desta forma eu poderia adaptar fácil para outros casos.. onde por exemplo:
>> Primeira entrada - 25/Bla
>> Segunda Entrada de Texto - 2/Tal
>>
>>
>> Abs
>>
>>
>> 2013/3/18 Ole Peter Smith <ole.ufg em gmail.com>
>>
>>> eu fazia o split(/\s+/,..) primeiro e depois o split(/[\\\/]/,...)
>>> depois (ou melhor ainda: if (=~/[\\\/]/...).
>>>
>>> 0le
>>>
>>>
>>> 2013/3/18 Ole Peter Smith <ole.ufg em gmail.com>
>>>
>>>> somente se vc pode garantir que nao ha mais '/' nos strings... caso
>>>> sim, tera que tratar isso.
>>>>
>>>> 0le
>>>>
>>>>
>>>> 2013/3/18 Guilherme Alves <guilhermeareal+riopm em gmail.com>
>>>>
>>>>> Caros Monges,
>>>>>
>>>>> venho aqui pedir ajuda de vocês para solucionar o meu problema.
>>>>>
>>>>> Tenho o seguinte arquivo de texto:
>>>>> ----------DATA
>>>>> 25/Bla Primeira Entrada
>>>>> 2/Tal Segunda Entrada de Texto
>>>>> ----------DATA
>>>>>
>>>>> Gostaria de fazer com que o texto fique com:
>>>>>
>>>>> $var1=25
>>>>> $var2=Bla
>>>>> $var3=Primeira Entrada
>>>>>
>>>>> e
>>>>>
>>>>> $var1=2
>>>>> $var2=Tal
>>>>> $var3=Segunda Entrada de Texto
>>>>>
>>>>> Para isto fiz um loop para o tratamento de cada linha. No momento uso
>>>>> 2 splits (um para o "/"e outro para o primeiro espaço em branco)
>>>>>
>>>>> ($var1,$lixo) = split("/",$linha);
>>>>> ($var2,$var3) = split(/\s+/,$lixo,2);
>>>>>
>>>>> Isto funciona porém o $var3 está ficando estranho, possuindo quebras
>>>>> de linhas e tal.
>>>>>
>>>>> Gostaria de saber se existe alguma maneira de eu fazer este split todo
>>>>> de uma só vez, tipo:
>>>>> ($var1,$var2,$var3) = split("/\s+",$linha,3);
>>>>>
>>>>>
>>>>> Obrigado pela ajuda..
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Guilherme Alves
>>>>>
>>>>> Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ
>>>>> Grupo de Resposta a Incidentes de Segurança
>>>>> Conheça o GRIS em www.gris.dcc.ufrj.br
>>>>>
>>>>> _______________________________________________
>>>>> Rio-pm mailing list
>>>>> Rio-pm em pm.org
>>>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> /////
>>>> ( O O )
>>>> =================oOO==(_)==OOo=================
>>>> Every day and every hour, I'm Learning more
>>>> The more I Learn, the less I Know about before
>>>> The Less I know, the more I want to Look around
>>>> Diggin' deeper into Higher Ground... UB40
>>>> .oooO Oooo.
>>>> ==================( )=( )=====================
>>>> \ ( ) /
>>>> \_) (_/
>>>> ===============================================
>>>> Ole Peter Smith, IME, UFG
>>>> http://olepeter.mat.ufg.br<http://www.mat.ufg.br/docentes/olepeter> -
>>>> ole at mat.ufg.br
>>>> ===============================================
>>>> Life sure is a Mystery to be Lived
>>>> Not a Problem to be Solved
>>>> ===============================================
>>>>
>>>
>>>
>>>
>>> --
>>> /////
>>> ( O O )
>>> =================oOO==(_)==OOo=================
>>> Every day and every hour, I'm Learning more
>>> The more I Learn, the less I Know about before
>>> The Less I know, the more I want to Look around
>>> Diggin' deeper into Higher Ground... UB40
>>> .oooO Oooo.
>>> ==================( )=( )=====================
>>> \ ( ) /
>>> \_) (_/
>>> ===============================================
>>> Ole Peter Smith, IME, UFG
>>> http://olepeter.mat.ufg.br<http://www.mat.ufg.br/docentes/olepeter> -
>>> ole at mat.ufg.br
>>> ===============================================
>>> Life sure is a Mystery to be Lived
>>> Not a Problem to be Solved
>>> ===============================================
>>>
>>> _______________________________________________
>>> Rio-pm mailing list
>>> Rio-pm em pm.org
>>> http://mail.pm.org/mailman/listinfo/rio-pm
>>>
>>
>>
>>
>> --
>> Guilherme Alves
>>
>> Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ
>> Grupo de Resposta a Incidentes de Segurança
>> Conheça o GRIS em www.gris.dcc.ufrj.br
>>
>
>
>
> --
> Guilherme Alves
>
> Redes, Sites e Sistemas(RSS) - GRIS-DCC-UFRJ
> Grupo de Resposta a Incidentes de Segurança
> Conheça o GRIS em www.gris.dcc.ufrj.br
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
--
/////
( O O )
=================oOO==(_)==OOo=================
Every day and every hour, I'm Learning more
The more I Learn, the less I Know about before
The Less I know, the more I want to Look around
Diggin' deeper into Higher Ground... UB40
.oooO Oooo.
==================( )=( )=====================
\ ( ) /
\_) (_/
===============================================
Ole Peter Smith, IME, UFG
http://olepeter.mat.ufg.br<http://www.mat.ufg.br/docentes/olepeter>
-
ole at mat.ufg.br
===============================================
Life sure is a Mystery to be Lived
Not a Problem to be Solved
===============================================
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20130318/95bc751b/attachment-0001.html>
Mais detalhes sobre a lista de discussão Rio-pm