Подстроки с substr()
Часть раздела Логика и потоки выполнения путешествия по R на Coddy. Урок 1 из 64.
substr(x, start, stop) возвращает символы x с позиции start по позицию stop, включая обе позиции. Позиции начинаются с 1, как индексы вектора.
word <- "programming"
print(substr(word, 1, 7))
print(substr(word, 4, 6))Результат:
[1] "program"
[1] "gra"Чтобы взять символы с конца, вычислите позиции с помощью nchar():
code <- "INV-2024-0042"
n <- nchar(code)
print(substr(code, n - 3, n))Вывод:
[1] "0042"Значение stop, выходящее за конец, обрезается до последнего символа, а значение start, большее чем stop, даёт пустую строку:
print(substr("cat", 2, 10))
print(substr("cat", 3, 1))Результат:
[1] "at"
[1] ""substr() одновременно работает с каждым элементом вектора символов:
days <- c("Monday", "Tuesday", "Wednesday")
print(substr(days, 1, 3))Вывод:
[1] "Mon" "Tue" "Wed"Присваивание substr() перезаписывает символы на месте. Длина строки сохраняется:
id <- "user-0000"
substr(id, 6, 9) <- "1234"
print(id)Вывод:
[1] "user-1234"Задание
ЛегкоЗавершите short_code(city), чтобы она возвращала первые три буквы city в верхнем регистре. Для london она возвращает LON.
Предоставленный код считывает город из входных данных и выводит возвращённое значение в отдельной строке.
Попробуйте сами
short_code <- function(city) {
# Напишите ваш код здесь
""
}
# Предоставленный код ввода/вывода: оставьте его как есть
input <- suppressWarnings(readLines(file("stdin")))
cat(short_code(input[1]), sep = "\n")
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и потоки выполнения
1Строки углублённо
Подстроки с substr()Форматирование с sprintf()Разделение и объединениеПоиск в строкахЗамена текстаПовторение — создание имени пользователя4Матрицы
Создание матрицИндексация матрицСводные данные по строкам и столбцамАрифметика матрицПовторение — схема рассадки7Семейство Apply
lapply и sapplyMap и mapplyFilter и FindReduceПовторение — конвейер обработки данных10Продвинутые конструкции управления
Функция switch()Векторизованный ifelse()repeat и breakРекурсивные функцииПовторение — классификатор оценок2Поиск по ключам и значениям
Поиск в именованных векторахПроверка ключейДобавление и удаление ключейПеребор имёнПовторение — биржа акций5Проект — Журнал оценок
Добавление учениковВыставление оценок3Множества и подсчёт
Уникальные значенияОперации с множествамиПроверка принадлежностиПодсчёт с помощью table()Повторение — гости мероприятия6Функции как значения
Анонимные функцииПередача функцийВозврат функцийЗамыкания с состояниемПовторение — правила скидок9Таблицы данных
Создание таблиц данныхСтолбцы и строкиФильтрация строкДобавление и сортировкаПовторение — отчёт о продажах12Проект — Трекер расходов
Запись расходовОбщие расходыПотренируйтесь самостоятельно: Онлайн-компилятор R