Dividir String por Delimitador em R

Jinku Hu 20 novembro 2021
  1. Use strsplit para dividir string por delimitador em R
  2. Use str_split para dividir string por delimitador em R
Dividir String por Delimitador em R

Este artigo irá discutir como dividir string por delimitador em R.

Use strsplit para dividir string por delimitador em R

strsplit é fornecido com a biblioteca R base e deve estar disponível na maioria das instalações sem pacotes adicionais. strsplit divide o vetor de caracteres em subcadeias pelo delimitador fornecido, que também é fornecido com um vetor de caracteres. O primeiro argumento da função é o vetor de caracteres a ser dividido. Nesse caso, especificamos o caractere de espaço para separar cada palavra na frase dada. Observe que a saída é fornecida como uma lista de vetores de caracteres.

library(dplyr)
library(stringr)

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

strsplit(str, " ")

Resultado:

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

Use str_split para dividir string por delimitador em R

Alternativamente, a função str_split também pode ser utilizada para dividir a string por delimitador. str_split faz parte do pacote stringr. Quase funciona da mesma maneira que strsplit, exceto que str_split também aceita expressões regulares como o padrão. No exemplo a seguir, passamos apenas a string fixa para corresponder. Observe que a função pode, opcionalmente, receber o terceiro argumento, que denota o número de substrings a serem retornadas.

library(dplyr)
library(stringr)

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

str_split(str, " ")

Resultado:

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

Outro parâmetro opcional na função str_split é simplify, que vem em quarto lugar. Este parâmetro tem o valor FALSE por padrão, e isso força a função a retornar subcadeias como uma lista de vetores de caracteres. Se atribuirmos TRUE ao argumento fornecido, str_split retorna um array de caracteres.

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)

Resultado:

> 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" ""
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Artigo relacionado - R String