エスケープされた引用符を含む文字列をクリーンアップしたいと考えています。文字列の末尾と先頭のエスケープされた引用符を削除したいのですが、文字列内のすべての引用符はそのままにします。私が思いついたのは次のとおりです。
library(stringr)
s1 <- "\"He said:\"Hello\" - some word\""
str_replace_all(s1, "(^\\\")|(\\\"$)", "")
> [1] "He said:\"Hello\" - some word"
私が今苦労しているのは、引用符が最初と最後にある場合にのみ、引用符を削除したいということです。次の式は、先頭の式を誤って削除します。
s2 <- "\"Hello!\" he said"
str_replace_all(s2, "(^\\\")|(\\\"$)", "")
> [1] "Hello!\" he said"
ここで、正規表現は、文字列全体がエスケープされた引用符で囲まれている場合にのみ削除することを示しているはずです。どうやってやるの?