[R-br] Manipulação de String

Diogo Ferrari diogoferrari em gmail.com
Quinta Dezembro 13 15:24:53 BRST 2012


Caros,

Conheço materias de RegExp mas muito dispersos, portanto não saberia
indicar algum.
Alguém conhece algum material bom e relativamente completo sobre isso para
indicar?

abs


2012/12/13 Benilton Carvalho <beniltoncarvalho em gmail.com>

> Corretor burro
>
> gsub ('^(.*) (.*)$', '\\2, \\1', x)
> On 13 Dec 2012 16:56, "Benilton Carvalho" <beniltoncarvalho em gmail.com>
> wrote:
>
>> gsub ('^(.*) (.*) $', '\\2, \\1', x)
>> On 13 Dec 2012 16:50, "Augusto Ribas" <ribas.aca em gmail.com> wrote:
>>
>>> #dados
>>> x <- c("Eder David Borges da Silva","João Silva","Pedro Augusto Paulo")
>>> #quebrando os nomes, resultado numa lista
>>> lista<-strsplit(x," ")
>>>
>>> #tamanho da lista
>>> length(lista)
>>> #tamanho do nome
>>> length(lista[[1]])
>>>
>>> #tres paste, dois dentro de um, colocando o nome com , dai o resto dos
>>> nomes juntos
>>>
>>> paste(paste(lista[[1]][length(lista[[1]])],",",collapse="",sep=""),paste(lista[[1]][1:(length(lista[[1]])-1)],collapse="
>>> "),sep=" ")
>>>
>>> #crie um vetor pra guardar os nomes
>>> saida<-vector()
>>>
>>> #um loop para repetir a atividade acima
>>> for(i in 1:length(lista)) {
>>>
>>> saida[i]<-paste(paste(lista[[i]][length(lista[[i]])],",",collapse="",sep=""),paste(lista[[i]][1:(length(lista[[i]])-1)],collapse="
>>> "),sep=" ")
>>> }
>>>
>>> #os nomes reorganizados
>>> saida
>>>
>>> Ai, pra ir quebrando o galho enquanto os mestres não vem hehe.
>>> Eu usei tres vezes o comando paste pra conseguir o resultado desejado,
>>> mas deve ter jeito de isso ser mais simples.
>>> Se for muito nome é melhor trocar o loop de for para um apply, so
>>> transformar isso numa função.
>>>
>>> Espero que ajude
>>>
>>> Em 13 de dezembro de 2012 11:58, Eder David Borges da Silva
>>> <eder em leg.ufpr.br> escreveu:
>>> > Pessoal, peço ajuda aos mestres em manipulação de String... eu ainda
>>> não me
>>> > acertei com isso.
>>> > A duvida é simples:
>>> > x <- c("Eder David Borges da Silva","João Silva","Pedro Augusto Paulo")
>>> > gostaria de transformar estes nomes em formato "Americano" ficando:
>>> > Silva, Eder David Borges da
>>> > Silva, João
>>> > Paulo, Pedro Augusto.
>>> > Em síntese pegar oque esta depois do ultimo espaço, e colar com tudo
>>> que
>>> > esta antes dele, separando isso por uma virgula.
>>> > Já tentei algumas coisa, mas sempre me confundo nas expressões
>>> regulares.
>>> > Alguma dica?
>>> > Obrigado
>>> >
>>> > _______________________________________________
>>> > R-br mailing list
>>> > R-br em listas.c3sl.ufpr.br
>>> > https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> > Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> código
>>> > mínimo reproduzível.
>>>
>>>
>>>
>>> --
>>> Grato
>>> Augusto C. A. Ribas
>>>
>>> Site Pessoal: http://recologia.wordpress.com/
>>> Lattes: http://lattes.cnpq.br/7355685961127056
>>> _______________________________________________
>>> R-br mailing list
>>> R-br em listas.c3sl.ufpr.br
>>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> código mínimo reproduzível.
>>>
>>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>



-- 
Diogo Ferrari
University of San Paulo (USP)
Faculty of Philosophy, Languages, Literature and Human Sciences (FFLCH)
Department of Political Science (DCP)
San Paulo/SP - Brazil
E-mail: diogo.ferrari em usp.br

Open Source! Use R! Use Linux!

"A vida é a arte de tirar conclusões suficientes de dados insuficientes"
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20121213/16f0928d/attachment.html>


Mais detalhes sobre a lista de discussão R-br