Подобно @Matthew_Plourde с использованием gsub
Однако при использовании шаблона, который обрезает до нуля символов, т.е. возвращает "", если исходная строка короче, чем количество символов, которые нужно вырезать:
cs <- c("foo_bar","bar_foo","apple","beer","so","a")
gsub('.{0,3}$', '', cs)
# [1] "foo_" "bar_" "ap" "b" "" ""
Разница в том, что {0,3}
квантификатор указывает от 0 до 3 совпадений, тогда как {3}
требует ровно 3 совпадений, иначе совпадение не найдено, и в этом случае gsub
возвращается исходная неизмененная строка.
NB использование {,3}
было бы эквивалентно {0,3}
, я просто предпочитаю последнее обозначение.
См. Дополнительную информацию о квантификаторах регулярных выражений:
https://www.regular-expressions.info/refrepeat.html
-3
на,-0
чтобы добиться желаемого эффекта! У меня много данных с датами, например:"2014-03-27 23:00:00 GMT" "2014-03-31 00:00:00 BST"
- да, два часовых пояса вместе, а функция as.Date возвращает неожиданные результаты (на день раньше для дат BST) - поэтому я хотел удалить отметку часового пояса, оказывается, мне нужно делаю-0
и он исчезает вместе с часами