単語と終了記号 (特定の種類の句読点) で分割する必要があります。奇妙なことに、パイプ ("|") は終了マークとして数えることができます。パイプを追加しようとするまで、エンドマークに単語を付けるコードがあります。パイプを追加すると、strsplit
すべての文字が作成されます。エスケープすると、エラーが発生します。正規表現にパイプを含めるにはどうすればよいですか?
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:]]|(?=[.!?*-\|"
私が望む結果:
#[[1]]
#[1] "I" "like" "the" "dog" "|" "." #pipe is an element