2016-06-28 23 views
1

Ich habe eine Zeichenfolge, die ich durch verschiedene Teile teilen möchte.R: Ist es möglich, mit str_split_fixed nach verschiedenen Zeichen zu teilen?

test = c("3 CH • P" ,"9 CH • P" , "2 CH • P" , "2 CH, 5 ECH • V",     
"3 ECH • V", "4 ECH • P") 

Ich weiß, dass str_split_fixed() von stringr() ich mit dem String nach einem bestimmten Zeichen aufteilen. Zum Beispiel:

test.1 = str_split_fixed(test, c("•"), 2) 
> test.1 
    [,1]   [,2] 
[1,] "3 CH "  " P" 
[2,] "9 CH "  " P" 
[3,] "2 CH "  " P" 
[4,] "2 CH, 5 ECH " " V" 
[5,] "3 ECH "  " V" 
[6,] "4 ECH "  " P" 

Allerdings frage ich mich, ob es möglich ist, mehr als ein Zeichen zu setzen (zum Beispiel sagen, "•" und ",") die Zeichenfolge aufgeteilt?

Antwort

1

könnten Sie versuchen gsub mit loszuwerden der ‚s:

test <- c("3 CH • P" ,"9 CH • P" , 
      "2 CH • P" , "2 CH, 5 ECH • V",     
      "3 ECH • V", "4 ECH • P") 

test_sub <- gsub("•", ",", test) 

str_split_fixed(test_sub, "[, ]+", n = 5) 

#or, use this version with an unfixed length: 
strsplit(test_sub, "[, ]+") 

This thread auf String-Splitting nicht nützlich sein kann oder nicht.