
15 Mar
2012
15 Mar
'12
01:59
nao da' pra ser um one-liner... mas algo como o seguinte (assumindo que os seus dados estejam num data.frame chamado myDat): p1 = gsub('^(\\w+)\\s+.*\\s+(\\w+)$', '\\1\\2', myDat$NOME_PESSOA) p2 = paste('DN', myDat$DTA_NASC_PESSOA, sep='') p3a = gsub('^(\\w+)\\s.*\\s(\\w+)$', '\\1\\2', myDat$NOME_COMPLETO_MAE_PESSOA) f = function(nm){ paste(unlist(lapply(strsplit(gsub(gsub('^(\\w+)\\s.*\\s(\\w+)$', '\\1 | \\2', nm), '', nm), ' '), substr, 1, 1)), collapse='') } p3b = sapply(myDat$NOME_COMPLETO_MAE_PESSOA, f) final = paste(p1, p2, p3a, p3b, collapse='') b ps: desculpas pela minha funcao f()... depois eu penso em algo elegante... isso se o henrique nao chegar humilhando... pps: fica pra vc a tarefa de testar o codigo