[R-br] Manipulação de String

Benilton Carvalho beniltoncarvalho em gmail.com
Quinta Dezembro 13 13:57:06 BRST 2012


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.
>>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20121213/717988b6/attachment.html>


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