@Matthew_Plourde ile benzer gsub
Ancak, sıfır karaktere kırpılacak bir desen kullanmak, yani orijinal dize kesilecek karakter sayısından daha kısaysa "" döndürmek :
cs <- c("foo_bar","bar_foo","apple","beer","so","a")
gsub('.{0,3}$', '', cs)
# [1] "foo_" "bar_" "ap" "b" "" ""
Aradaki fark, {0,3}nicelik belirtecinin 0 ila 3 eşleşmeyi göstermesidir, oysa {3}tam olarak 3 eşleşme gerektirir , aksi takdirde eşleşme bulunmaz, bu durumda gsuborijinal, değiştirilmemiş dizeyi döndürür.
NB kullanmak {,3}eşdeğer olacaktır {0,3}, ben sadece ikinci gösterimi tercih ederim.
Normal ifade miktar belirleyicileri hakkında daha fazla bilgi için buraya bakın:
https://www.regular-expressions.info/refrepeat.html
-3etmek-0için değiştirmem gerekiyordu ! Tarihlerle ilgili pek çok"2014-03-27 23:00:00 GMT" "2014-03-31 00:00:00 BST"verim var , örneğin: - evet, iki saat dilimi birlikte ve as.Date işlevi beklenmedik sonuçlar veriyor (BST tarihleri için gün erken) - bu nedenle saat dilimi damgasını kaldırmak istedim, sonuçta mecburum yap-0ve