[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