R で出現する文字列を 1 つおきに置き換えるにはどうすればよいですか?すべての \q を q タグ <q> に置き換えたいと思います。 </q>しかし、タグを正しく取得するために他の出現箇所をすべて置き換えるのに苦労しています。
library(stringr)
x = r"{I said \qHockey\q}"
str_replace_all(x, "\\q", "<q>") # not correct should have closing tag for 2nd occurrence
y = r"{I said \qHockey\q and \qBaseball\q}"
str_replace_all(y, "\\q", "<q>") # not correct should have closing tag for 2nd and 4th occurrence
------------------------
\\q 間の値をグループとしてキャプチャできます。
library(stringr)
x = r"{I said \qHockey\q}"
y = r"{I said \qHockey\q and \qBaseball\q}"
str_replace_all(x, "\\q.*\\q", function(m) paste0('<q>', gsub('\\q', '', m), '</q>'))
#[1] "I said <q>Hockey</q>"
str_replace_all(y, "\\q.*?\\q", function(m) paste0('<q>', gsub('\\q', '', m), '</q>'))
#[1] "I said <q>Hockey</q> and <q>Baseball</q>"