Как использовать функцию strsplit с периодом

Я хотел бы разбить следующую строку на ее периоды. Я попробовал strsplit() с помощью "." в аргументе split , но не получил результат, который я хочу.

 s <- "I.want.to.split" strsplit(s, ".") [[1]] [1] "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" 

Результат, который я хочу, состоит в том, чтобы разделить s на 4 элемента в списке, как показано ниже.

 [[1]] [1] "I" "want" "to" "split" 

Что мне делать?

    При использовании регулярного выражения в аргументе split strsplit() вам нужно избегать . с \\. , или используйте charclass [.] . В противном случае вы используете . как его особый символ, означающий «любой персонаж».

     s <- "I.want.to.split" strsplit(s, "[.]") # [[1]] # [1] "I" "want" "to" "split" 

    Но более эффективным способом здесь является использование fixed аргумента в strsplit() . Использование этого аргумента будет обходить механизм регулярных выражений и искать точное соответствие "." ,

     strsplit(s, ".", fixed = TRUE) # [[1]] # [1] "I" "want" "to" "split" 

    И, конечно, вы можете увидеть help(strsplit) для большего.

    Вам нужно либо поставить точку . внутри classа символов или предшествует ему с двумя обратными косыми чертами, чтобы избежать его, поскольку точка является символом специального значения в регулярном выражении, означающим «соответствовать любому одиночному символу (кроме новой строки)»,

     s <- 'I.want.to.split' strsplit(s, '\\.') # [[1]] # [1] "I" "want" "to" "split" 

    Помимо strsplit() , вы также можете использовать scan() . Пытаться:

     scan(what = "", text = s, sep = ".") # Read 4 items # [1] "I" "want" "to" "split" 
    Interesting Posts
    Давайте будем гением компьютера.