Semelhante a @Matthew_Plourde usando gsub
No entanto, usando um padrão que cortará para zero caracteres, ou seja, retornará "" se a string original for menor que o número de caracteres a serem cortados:
cs <- c("foo_bar","bar_foo","apple","beer","so","a")
gsub('.{0,3}$', '', cs)
# [1] "foo_" "bar_" "ap" "b" "" ""
A diferença é que o {0,3}
quantificador indica 0 a 3 correspondências, ao passo que {3}
requer exatamente 3 correspondências, caso contrário, nenhuma correspondência será encontrada, caso em que gsub
retorna a string original não modificada.
NB using {,3}
seria equivalente a {0,3}
, simplesmente prefiro a última notação.
Veja aqui mais informações sobre quantificadores regex:
https://www.regular-expressions.info/refrepeat.html
-3
para-0
para obter o efeito desejado! Eu tenho muitos dados com datas, como:"2014-03-27 23:00:00 GMT" "2014-03-31 00:00:00 BST"
- sim, dois fusos horários juntos, e a função as.Date está retornando resultados inesperados (dia anterior para datas BST) - portanto, eu queria remover o carimbo de fuso horário, descobri que preciso faz-0
e desaparece, junto com horas