В статье описаны базовые функции языка R для работы со строковыми данными.
1.Получение длины строки.
nchar("Тестовая строка")
Функцию length использовать неправильно — она возвращает длину вектора.
2. Слияние строк.
paste("Строка 1","Строка 2", sep="+")
По умолчанию разделитель (sep) пробел.
Если нужно слить строки без разделителя, удобнее использовать функцию
paste0("Строка 1","Строка 2")
Обе функции могут работать с векторами.
В этом случае может быть удобно использовать разделитель верхнего уровня — collapse
stooges <- c("Moe","Larry","Curly")
paste(stooges, "loves", "stats", collapse = ", and")
#> "Moe loves stats, and Larry loves stats, and Curly loves stats"
3. Извлечение подстроки.
substr("Строка", position_start, position_end)
substr("some text", 2, 6)
4. Разбиение строки по разделителю.
strsplit("d:/Folder/subdirectories", "/")
Важно! Функция возвращает список, где каждый элемент — вектор подстрок. Это необходимо на случай, если первый аргумент функции вектор.
Если в функцию передана только одна строка, то открыть результат можно конструкцией:
strsplit("Some Text", " ")[[1]]
5. Замена подстроки.
Функция делает замену первого вхождения искомой фразы
sub(old, new, string)
Для замены всех вхождений фразы следует использовать:
gsub(old, new, string)
Чтобы полностью удалить подстроку, можно использовать пустую новую подстроку:
sub("text", "", "Source text")
Аргумент old может быть регулярным выражением. Это предполагается по умолчанию.
Если нужно, чтобы поиск происходил строго по аргументу old, без использования регулярных выражений, то нужно добавить параметр fixed = TRUE.
6. Генерация попарных комбинаций строк (декартово произведение)
outer(string1, string2, paste, sep = "")
7. Преобразование строки в дату.
as.Date("2021-06-28")
Формат текстовой строки должен соответствовать формату даты по умолчанию «yyyy-mm-dd» иначе будет ошибка.
Чтобы правильно сконвертировать дату в другом формате, нужно использовать параметр format
as.Date("12/31/2020", format = "%m/%d/%Y")