Используйте следующий шаблон регулярных выражений:
_[[:alpha:]]_&_[[:alpha:]]_
и заменить на __&__
. См. демонстрационное выражение . Он не будет соответствовать строкам типа John_A_&_BOYS_
и, следовательно, не будет проблем, подобных той, что у вас есть.
Обратите внимание, что [[:alpha:]]
соответствует любой букве.
R использование:
gsub("_[[:alpha:]]_&_[[:alpha:]]_", "__&__", JOINING_ID)
Или, если вы ожидаете только 1 совпадение на строку, используйте sub
:
sub("_[[:alpha:]]_&_[[:alpha:]]_", "__&__", JOINING_ID)