Разделить строку по разделителю в R

  1. Используйте strsplit, чтобы разделить строку по разделителю в R
  2. Используйте str_split для разделения строки по разделителю в R

В этой статье мы обсудим, как разбить строку по разделителю в R.

Используйте strsplit, чтобы разделить строку по разделителю в R

strsplit поставляется с базовой библиотекой R и должен быть доступен в большинстве установок без дополнительных пакетов. strsplit разбивает вектор символов на подстроки по заданному разделителю, который также снабжен вектором символов. Первый аргумент функции - это разбиваемый вектор символов. В этом случае мы указываем пробел для разделения каждого слова в данном предложении. Обратите внимание, что выходные данные представлены в виде списка векторов символов.

library(dplyr)
library(stringr)

str <- "Lorem Ipsum is simply dummied text of the printing and typesetting industry."

strsplit(str, " ")

Выход:

> strsplit(str, " ")
[[1]]
 [1] "Lorem"       "Ipsum"       "is"          "simply"      "dummied"       "text"       
 [7] "of"          "the"         "printing"    "and"         "typesetting" "industry."  

Используйте str_split для разделения строки по разделителю в R

В качестве альтернативы, функция str_split также может использоваться для разделения строки по разделителю. str_split является частью пакета stringr. Он работает почти так же, как strsplit, за исключением того, что str_split также принимает в качестве образца регулярные выражения. В следующем примере мы передаем только фиксированную строку для сопоставления. Обратите внимание, что функция может дополнительно принимать третий аргумент, который обозначает количество возвращаемых подстрок.

library(dplyr)
library(stringr)

str <- "Lorem Ipsum is simply dummied text of the printing and typesetting industry."

str_split(str, " ")

Выход:

> str_split(str, " ")
[[1]]
 [1] "Lorem"       "Ipsum"       "is"          "simply"      "dummied"       "text"       
 [7] "of"          "the"         "printing"    "and"         "typesetting" "industry."  

Еще один необязательный параметр в функции str_split - simplify, занимающий четвертое место. По умолчанию этот параметр имеет значение FALSE, и это заставляет функцию возвращать подстроки в виде списка векторов символов. Если мы присвоим данному аргументу TRUE, str_split вернет символьную матрицу.

library(dplyr)
library(stringr)

fruits <- c(
  "apples and oranges and pears and bananas",
  "pineapples and mangos and raspberries"
)

str_split(fruits, " and ")
str_split(fruits, " and ", simplify = TRUE)

Выход:

> str_split(fruits, " and ")
[[1]]
[1] "apples"  "oranges" "pears"   "bananas"

[[2]]
[1] "pineapples"  "mangos"      "raspberries"


> str_split(fruits, " and ", simplify = TRUE)
     [,1]         [,2]      [,3]          [,4]     
[1,] "apples"     "oranges" "pears"       "bananas"
[2,] "pineapples" "mangos"  "raspberries" ""