Вы можете использовать границы слов для соответствия -<LF>
только между символами:
gsub("\\b-\n\\b", "", x)
gsub("(*UCP)\\b-\n\\b", "", x, perl=TRUE)
stringr::str_replace_all(x, "\\b-\n\\b", "", x)
Последние два поддерживают границы слова между любыми символами слова Юникода.
См. Демоверсию regex .
Если вы хотите удалить -<LF>
между буквами, вы можете использовать
gsub("([a-zA-Z])-\n([a-zA-Z])", "\\1\\2", x)
gsub("(\\p{L})-\n(\\p{L})", "\\1\\2", x, perl=TRUE)
stringr::str_replace_all(x, "(\\p{L})-\n(\\p{L})", "\\1\\2")
Если вам нужно поддерживать только строчные буквы, удалите A-Z
в первых gsub
и замените \p{L}
на \p{Ll}
в последних двух.
См. это демо регулярных выражений .