Как использовать функцию strsplit() в R для разделения элементов строки


Функцию strsplit() в R можно использовать для разделения строки на несколько частей. Эта функция использует следующий синтаксис:

strsplit(строка, шаблон)

куда:

  • строка: вектор символов
  • Pattern : Шаблон для разделения

В следующих примерах показано, как использовать эту функцию на практике.

Пример 1: Разделить строку на основе пробелов

В следующем коде показано, как использовать функцию strsplit() для разделения строки на основе пробелов:

#split string based on spaces
split_up <- strsplit(" Hey there people", split=" ")

#view results
split_up

[[1]]
[1] "Hey" "there" "people"

#view class of split_up
class(split_up)

[1] "list"

Результатом является список из трех элементов, разделенных на основе пробелов в исходной строке.

Мы можем использовать функцию unlist() , если вместо этого хотим получить вектор в качестве результата:

#split string based on spaces
split_up <- unlist(strsplit(" Hey there people", split=" "))

#view results
split_up

[1] "Hey" "there" "people"

#view class of split_up
class(split_up)

[1] "character"

Мы можем видеть, что результатом является вектор символов.

Пример 2: Разделить строку на основе пользовательского разделителя

Мы также можем использовать функцию strplit() для разделения строки на основе пользовательского разделителя, такого как тире:

#split string based on dashes
strsplit(" Hey-there-people", split=" - ")

[[1]]
[1] "Hey" "there" "people"

Результатом является список из трех элементов, разделенных на основе тире в исходной строке.

Пример 3: Разделить строку на основе нескольких разделителей

Мы также можем использовать скобки в аргументе split функции strplit() для разделения строки на основе нескольких разных разделителей:

#split string based on several delimiters
strsplit(" Hey&there-you/people", split=" [&-/] ")

[[1]]
[1] "Hey" "there" "you" "people"

Результатом является список элементов, которые были разделены всякий раз, когда в исходной строке присутствовал любой из следующих разделителей:

  • Амперсанд ( & )
  • Тире ( - )
  • Косая черта ( / )

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции со строками в R:

Как использовать str_replace в R
Как выполнить частичное сопоставление строк в R
Как преобразовать строки в даты в R
Как преобразовать символ в число в R