R: como usar strsplit() com vários delimitadores
Você pode usar a seguinte sintaxe básica com a função strsplit() em R para dividir uma string em partes com base em vários delimitadores:
strsplit(my_string, ' [,& ]+ ')
Este exemplo específico divide a string chamada my_string sempre que encontra um dos três delimitadores a seguir:
- Para encomendar ( , )
- Um e comercial ( & )
- Uma área
Observe que os caracteres entre parênteses indicam quais delimitadores procurar e o sinal + indica que pode haver vários delimitadores em uma linha (por exemplo, pode haver vários espaços em uma linha).
O exemplo a seguir mostra como usar essa sintaxe na prática.
Exemplo: Use strsplit() com vários delimitadores em R
Suponha que temos a seguinte string em R:
#create string
my_string <- 'this is a, string & with seven words'
Se usarmos a função strsplit() para dividir a string toda vez que um espaço for encontrado, isso produzirá o seguinte resultado:
#split string based on spaces
strsplit(my_string, ' ')
[[1]]
[1] "this" "is" "a," "string" "&" "with" "" ""
[9] “seven” “words”
A função strsplit() divide a string sempre que um espaço é encontrado, mas não é capaz de lidar com vírgulas, e comercial e vários espaços.
Para dividir a string com base em cada um desses delimitadores, podemos usar a seguinte sintaxe:
#split string based on multiple delimiters
strsplit(my_string, ' [,& ]+ ')
[[1]]
[1] "this" "is" "a" "string" "with" "seven" "words"
Esta função é capaz de dividir a string com base em três delimitadores diferentes e retorna corretamente apenas as palavras da string que nos interessam.
Observe que neste exemplo incluímos três delimitadores entre colchetes na função strsplit() , mas você pode especificar quantos delimitadores desejar.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras operações comuns usando dplyr:
Como usar a função strsplit() em R para dividir elementos de string
Como dividir uma string e obter o primeiro elemento em R
Como contar palavras em uma string em R