O: jak używać strsplit() z wieloma ogranicznikami
Możesz użyć następującej podstawowej składni z funkcją strsplit() w R, aby podzielić ciąg na części w oparciu o wiele ograniczników:
strsplit(my_string, ' [,& ]+ ')
Ten konkretny przykład dzieli ciąg o nazwie mój_ciąg za każdym razem, gdy napotka jeden z następujących trzech ograniczników:
- Aby zamówić ( , )
- Ampersand ( & )
- Obszar
Należy pamiętać, że znaki w nawiasach wskazują, które ograniczniki należy wyszukiwać, a znak + wskazuje, że w rzędzie może znajdować się wiele ograniczników (na przykład w rzędzie może znajdować się wiele spacji).
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: użyj strsplit() z wieloma ogranicznikami w R
Załóżmy, że w R mamy następujący ciąg znaków:
#create string
my_string <- 'this is a, string & with seven words'
Jeśli użyjemy funkcji strsplit() do podziału łańcucha za każdym razem, gdy napotkana zostanie spacja, otrzymamy następujący wynik:
#split string based on spaces
strsplit(my_string, ' ')
[[1]]
[1] "this" "is" "a," "string" "&" "with" "" ""
[9] “seven” “words”
Funkcja strsplit() dzieli ciąg znaków po napotkaniu spacji, ale nie obsługuje przecinków, ampersandów ani spacji wielokrotnych.
Aby podzielić ciąg znaków na podstawie każdego z tych ograniczników, możemy zastosować następującą składnię:
#split string based on multiple delimiters
strsplit(my_string, ' [,& ]+ ')
[[1]]
[1] "this" "is" "a" "string" "with" "seven" "words"
Funkcja ta jest w stanie podzielić ciąg znaków na podstawie trzech różnych ograniczników i poprawnie zwrócić tylko te słowa w ciągu, które nas interesują.
Zauważ, że w tym przykładzie do funkcji strsplit() dodaliśmy trzy ograniczniki w nawiasach, ale możesz określić dowolną liczbę ograniczników.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje za pomocą dplyr:
Jak używać funkcji strsplit() w R do dzielenia elementów ciągu
Jak podzielić ciąg i uzyskać pierwszy element w R
Jak liczyć słowa w ciągu w R