Ho un bisogno di dividere sulle parole e segni finali (di punteggiatura di alcuni tipi). La pipa strana ("|") può essere considerata come un segno di fine. Ho il codice che le parole sui segni finali fino a quando non provo ad aggiungere il tubo. L'aggiunta del tubo rende il strsplit
ogni carattere. Sfuggire a causa ed errore. Come posso includere il pipe nella sua espressione regolare?fuga pipe ("|") in una regex
x <- "I like the dog|."
strsplit(x, "[[:space:]]|(?=[.!?*-])", perl=TRUE)
#[[1]]
#[1] "I" "like" "the" "dog|" "."
strsplit(x, "[[:space:]]|(?=[.!?*-\|])", perl=TRUE)
#Error: '\|' is an unrecognized escape in character string starting "[[:space:]]|(?=[.!?*-\|"
Il risultato mi piacerebbe:
#[[1]]
#[1] "I" "like" "the" "dog" "|" "." #pipe is an element
io sono sempre riluttanti a mettere i tag regex su questioni regex R perché si ottiene regexers da altre lingue e anche se le risposte sono simili che non si sovrappongano. –