[R-br] Tirar maiuscula apos o ponto
Benilton Carvalho
beniltoncarvalho em gmail.com
Segunda Março 24 19:38:00 BRT 2014
eu ja' perdi o bonde ha' algum tempo, mas usaria algo como:
gsub("(\\.\\s)(\\s*)([[:alpha:]])+", "\\1\\U\\3", texto, perl=TRUE)
(onde "\\s*" e' so' p resolver casos de multiplos espacos apos o ponto
final)
b
Em 24 de março de 2014 16:29, Bernardo Rangel Tura
<tura em centroin.com.br>escreveu:
> On 03/23/2014 12:31 PM, jimmy wrote:
>
>> 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
>>
>
> jimmy,
>
> Nesta caso a comando ficaria assim:
> gsub('(?<=\\. )([:upper:])', '\\L\\1', texto, perl =TRUE)
> Mas aqui não funcionou ... Onde está o meu erro ?
>
> []s
> Tura
>
>
> _______________________________________________
> 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/20140324/709f68b4/attachment.html>
Mais detalhes sobre a lista de discussão R-br