[R-br] String com um espaço que não é espaço

Lucas Barbosa lucasbcr em gmail.com
Segunda Março 5 13:45:17 BRT 2012


> gsub("\\xA0|[ \t\n\r\f\v]", "\\+", cidade)
[1] "Águas+Lindas+de+Goiás"
*
Não acredito que finalmente deu certo. Preciso aprender a usar esse Emacs.

Valeu, Benilton!
*

Em 5 de março de 2012 13:34, Benilton Carvalho
<beniltoncarvalho em gmail.com>escreveu:

> Resultado do emacs:
>
>        character:   (160, #o240, #xa0)
> preferred charset: unicode (Unicode (ISO10646))
>       code point: 0xA0
>           syntax: .    which means: punctuation
>         category: .:Base, b:Arabic, j:Japanese, l:Latin
>      buffer code: #xC2 #xA0
>        file code: #xC2 #xA0 (encoded by coding system utf-8-unix)
>          display: by this font (glyph code)
>    nil:-apple-Courier-medium-normal-normal-*-18-*-*-*-m-0-iso10646-1 (#xA6)
>   hardcoded face: nobreak-space
>
> Character code properties: customize what to show
>  name: NO-BREAK SPACE
>  old-name: NON-BREAKING SPACE
>  general-category: Zs (Separator, Space)
>  decomposition: (noBreak 32) (noBreak ' ')
>
>
> dai', no meu teste:
>
> txt = paste("meu" , "texto", sep=loucura)
> gsub("\\xA0", "\\+", txt)
>
> com o resultado:
>
> [1] "meu+texto"
>
>
> b
>
> 2012/3/5 Lucas Barbosa <lucasbcr em gmail.com>:
> >> gsub("[[:blank:]]+", "\\+", cidade)
> > [1] "Águas Lindas+de+Goiás"
> >
> >> save(loucura, file='caracter_loucura.RData')
> >
> > Já estou quase desistindo. Pra quem tiver curiosidade segue anexo o
> arquivo
> > caracter_loucura.RData
> >
> > Em 5 de março de 2012 12:35, Benilton Carvalho <
> beniltoncarvalho em gmail.com>
> > escreveu:
> >
> >> Hmmm...
> >>
> >> Eu ainda tentaria algo como:
> >>
> >> gsub("[[:blank:]]+", "\\+", cidade)
> >>
> >> e, falhando tudo, abriria o arquivo de origem dos dados no meu bom e
> >> velho Emacs e usaria describe-char para tentar entender a fonte do
> >> probelma.
> >>
> >> b
> >>
> >> 2012/3/5 Lucas Barbosa <lucasbcr em gmail.com>:
> >> >> Encoding(cidade)
> >> > [1] "unknown"
> >> >> cidade <- enc2native(cidade)
> >> >>
> >> >> cidade
> >> >
> >> > [1] "Águas Lindas de Goiás"
> >> >>
> >> >> Encoding(cidade)
> >> > [1] "unknown"
> >> >
> >> >>
> >> >> gsub( "[ \t\n\r\f\v]" , "\\+", cidade)
> >> > [1] "Águas Lindas+de+Goiás"
> >> >>
> >> >> gsub( "[ \t\n\r\f\v]" , "\\+", cidade, useBytes=T)
> >> > [1] "Águas Lindas+de+Goiás"
> >> >
> >> > O pior é que eu consigo imprimir o "loucura" na tela, copiar e colar:
> >> >
> >> >> loucura
> >> > [1] " "     # " " copiado
> >> >> gsub( " " , "\\+", cidade) # " " colado
> >> > [1] "Águas+Lindas de Goiás"
> >> >
> >> > Existe alguma função que receba um caracter e retorne o código unicode
> >> > dele
> >> > ou algo assim?
> >> >
> >> >
> >> > Em 5 de março de 2012 11:10, Benilton Carvalho
> >> > <beniltoncarvalho em gmail.com>
> >> > escreveu:
> >> >
> >> >> Parece algo de codificacao de caracteres... Qual o resultado de:
> >> >>
> >> >> Encoding(cidade)
> >> >>
> >> >> ?
> >> >>
> >> >> E se vc converter 'cidade'?
> >> >>
> >> >> cidade <- enc2native(cidade)
> >> >>
> >> >> e tentar a partir dai'?
> >> >>
> >> >> Ou, possivelmente, usar gsub() com useBytes=TRUE ?
> >> >>
> >> >> b
> >> >>
> >> >> 2012/3/5 Lucas Barbosa <lucasbcr em gmail.com>:
> >> >> > Bom dia pessoal,
> >> >> >
> >> >> > Estou escrevendo um código para calcular a distancia entre cidades
> >> >> > brasileiras com o gmaps. Para construir os links eu preciso trocar
> os
> >> >> > espaços por "+" nos nomes das cidades.
> >> >> > Nos meus dados (uma lista de cidades) algumas strings contém um
> >> >> > caracter
> >> >> > que
> >> >> > parece um espaço em branco, mas não se comporta como tal:
> >> >> >
> >> >> >> cidades[[47]][[3]]
> >> >> > [1] "Águas Lindas de Goiás"
> >> >> >>
> >> >> >> cidade <- cidades[[47]][[3]]
> >> >> >>
> >> >> >> strsplit( cidade ,"[ \t\n\r\f\v]")
> >> >> > [[1]]
> >> >> > [1] "Águas Lindas" "de"           "Goiás"
> >> >> >>
> >> >> >> gsub( "[ \t\n\r\f\v]" , "\\+", cidade)
> >> >> > [1] "Águas Lindas+de+Goiás"
> >> >> >>
> >> >> >> loucura <- substr(cidade, 6, 6)
> >> >> >>
> >> >> >> gsub( loucura , "\\+", cidade)
> >> >> > [1] "Águas+Lindas de Goiás"
> >> >> >>
> >> >> >> gsub( sprintf("[%s \t\n\r\f\v]", loucura) , "\\+", cidade)
> >> >> > [1] "Águas+Lindas+de+Goiás"
> >> >> >
> >> >> > Eu consegui resolver o problema (trocar espaços por "+"), mas
> >> >> > gostaria
> >> >> > de
> >> >> > escrever meu código sem extrair o caracter "loucura" com a
> substr().
> >> >> >
> >> >> > Se não é [ \t\n\r\f\v], o que é? Alguém tem uma dica?
> >> >> >
> >> >> > Abs.,
> >> >> > Lucas Cusinato
> >> >> >
> >> >> > _______________________________________________
> >> >> > 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.
> >> >
> >> >
> >> >
> >> > _______________________________________________
> >> > 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.
> >
> >
> >
> > _______________________________________________
> > 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120305/393d60c7/attachment.html>


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