Menu
Coddy logo textTech

Подстроки с 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"
challenge icon

Задание

Легко

Завершите short_code(city), чтобы она возвращала первые три буквы city в верхнем регистре. Для london она возвращает LON.

Предоставленный код считывает город из входных данных и выводит возвращённое значение в отдельной строке.

Попробуйте сами

short_code <- function(city) {
  # Напишите ваш код здесь
  ""
}

# Предоставленный код ввода/вывода: оставьте его как есть
input <- suppressWarnings(readLines(file("stdin")))
cat(short_code(input[1]), sep = "\n")
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и потоки выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор R