Пакеты stringr
предлагают некоторые специфические для задачи функции с полезными именами. В исходном вопросе вы говорите, что хотели бы удалить пробелы и подчеркивания в начале вашей строки, но в комментарии вы подразумеваете, что вы также хотите удалить те же символы в конце той же строки. Для этого я добавлю несколько разных вариантов.
Заданная строка s <- " \t_blah_ "
, которая содержит пробелы (пробелы и символы табуляции) и подчеркивания:
library(stringr)
# Remove whitespace and underscores at the start.
str_remove(s, "[\\s_]+")
# [1] "blah_ "
# Remove whitespace and underscores at the start and end.
str_remove_all(s, "[\\s_]+")
# [1] "blah"
В случае, если вы хотите удалить только пробелы только - в конце концов, в начале или конце строки примера нет подчеркиваний - есть пара stringr
функций, которые помогут Вы держите вещи простыми:
# `str_trim` trims whitespace (\s and \t) from either or both sides.
str_trim(s, side = "left")
# [1] "_blah_ "
str_trim(s, side = "right")
# [1] " \t_blah_"
str_trim(s, side = "both") # This is the default.
# [1] "_blah_"
# `str_squish` reduces repeated whitespace anywhere in string.
s <- " \t_blah blah_ "
str_squish(s)
# "_blah blah_"
Тот же самый шаблон [\\s_]+
также будет работать в базовых R sub
или gsub
, с некоторыми незначительными изменениями, если это ваш джем (см. Thefourthbird`s ответ ).