[R-br] Tirar maiuscula apos o ponto
Rodrigo Coster
rcoster em gmail.com
Domingo Março 23 15:30:06 BRT 2014
Sempre achei que [:upper:] e A-Z fossem equivalentes... valeu!
2014-03-23 12:31 GMT-03:00 jimmy <jimmy.tty em gmail.com>:
> Saudações Rodrigo Coster,
>
> On Sat, Mar 22, 2014 at 09:54:35PM -0300, Rodrigo Coster wrote:
> > A tua expressão tem alguns problemas... A expressão ". [A-Z]" captura
> > qualquer caractere (e não somente ponto), seguido por um espaço e uma
> > letra maiúscula (http://regex101.com/r/hG9uK2). Para capturar o ponto,
> > precisa usar \\. no lugar
> >
> > Segue uma solução: gsub('(?<=\\. )([A-Z])', '\\L\\1', texto, perl =
> > TRUE) e a explicação em: http://regex101.com/r/xV7zE0
> >
> > Único problema é que frases que iniciam com letras acentuadas não
> > funciona (se alguém souber resolver, eu agradeço, pq isso me da uma
> > baita dor de cabeça as vezes)
> Você pode usar algumas soluções para resolver este problema:
>
> - Ao invés de usar "[A-Z]" como intervalo, usar a classe POSIX
> "[:upper:]".
>
> - Declarar explicitamente quais caracteres deseja modificar o caso.
> Exemplo: "[A-ZÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ]"
>
> - Usar a unicode property \p{Lu}.
>
> Todas essas soluções são bastante genéricas e podem apresentar efeitos
> colaterais dependendo do conteúdo de "texto". Um exemplo que já posso
> prever agora será quando "texto" tiver abreviações, "Dr. José ..."
> ficará como "Dr. josé ...".
>
> --
> "Não manejo bem as palavras
> Mas manipulo bem as strings."
> ------------------------------
> http://tecnoveneno.blogspot.com
> _______________________________________________
> 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/20140323/8f767724/attachment.html>
Mais detalhes sobre a lista de discussão R-br