Menu
Coddy logo textTech

Функции для работы со строками

Часть раздела Основы путешествия по R на Coddy — урок 66 из 78.

Теперь, когда вы знаете, как разбивать строки на символы, давайте изучим несколько основных функций для работы со строками в R. Эти функции помогут вам измерять, объединять и преобразовывать текстовые данные.

Функция nchar() возвращает количество символов в строке:

word <- "hello"
print(nchar(word))

Вывод:

[1] 5

Чтобы объединить несколько строк в одну, используйте paste(). По умолчанию она разделяет элементы пробелом:

result <- paste("Hello", "World")
print(result)

Вывод:

[1] "Hello World"

Используйте paste0(), если вам не нужен разделитель между строками:

result <- paste0("Hello", "World")
print(result)

Вывод:

[1] "HelloWorld"

Для изменения регистра R предоставляет toupper() и tolower():

print(toupper("hello"))
print(tolower("WORLD"))

Вывод:

[1] "HELLO"
[1] "world"

Эти функции становятся мощным инструментом в сочетании с изученными вами методами итерации, позволяя обрабатывать и преобразовывать текст посимвольно или в виде целых строк.

challenge icon

Задание

Легко

Вы получите две строки входных данных:

  1. Имя (например, john)
  2. Фамилия (например, SMITH)

Выполните следующие операции:

  1. Преобразуйте имя в верхний регистр с помощью toupper()
  2. Преобразуйте фамилию в нижний регистр с помощью tolower()
  3. Объедините их в полное имя с помощью paste() (с пробелом между ними)
  4. Вычислите общее количество символов в полном имени (включая пробел) с помощью nchar()
  5. Создайте имя пользователя, объединив имя и фамилию без разделителя с помощью paste0(), всё в нижнем регистре
  6. Выведите полное имя
  7. Выведите количество символов
  8. Выведите имя пользователя

Например, если входные данные:

alice
WONDER

Выходные данные должны быть:

[1] "ALICE wonder"
[1] 12
[1] "alicewonder"

Объяснение: Имя "alice" становится "ALICE" (верхний регистр), фамилия "WONDER" становится "wonder" (нижний регистр). Полное имя "ALICE wonder" содержит 12 символов (включая пробел). Имя пользователя объединяет оба имени в нижнем регистре без разделителя: "alicewonder".

Шпаргалка

Функция nchar() возвращает количество символов в строке:

word <- "hello"
print(nchar(word))  # Вывод: [1] 5

Функция paste() по умолчанию объединяет несколько строк, используя пробел в качестве разделителя:

result <- paste("Hello", "World")
print(result)  # Вывод: [1] "Hello World"

Функция paste0() объединяет строки без разделителя:

result <- paste0("Hello", "World")
print(result)  # Вывод: [1] "HelloWorld"

Функция toupper() преобразует строки в верхний регистр, а tolower() — в нижний регистр:

print(toupper("hello"))  # Вывод: [1] "HELLO"
print(tolower("WORLD"))  # Вывод: [1] "world"

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

# Чтение входных данных
con <- file("stdin", "r")
first_name <- suppressWarnings(readLines(con, n = 1))
last_name <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: Напишите ваш код ниже
# 1. Преобразуйте first_name в верхний регистр с помощью toupper()
# 2. Преобразуйте last_name в нижний регистр с помощью tolower()
# 3. Объедините их в full_name с помощью paste()
# 4. Подсчитайте количество символов с помощью nchar()
# 5. Создайте username с помощью paste0() (все в нижнем регистре)

# Вывод результатов
print(full_name)
print(char_count)
print(username)
quiz iconПроверьте себя

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

Все уроки раздела Основы