Шаблоны
Чтобы соответствовать апострофу только в начале / конце строки:
^'|'$
См. демонстрационное выражение регулярного выражения
Если апостоф ищется только вне слова , вы можете использовать
\b'\b(*SKIP)(*FAIL)|'
См. это демонстрационное выражение регулярного выражения . Здесь '
сопоставляется только в том случае, если оно не заключено в оба конца буквами, цифрами или подчеркиванием, поскольку все '
, заключенные в символы слова, пропускаются / не выполняются.
Если вам нужно сопоставлять '
только тогда, когда оно не состоит из двух букв, используйте
'(?!(?<=[A-Za-z]')[A-Za-z]) # ASCII only
'(?!(?<=\p{L}')\p{L}) # Any Unicode letters
См. это демонстрационное выражение регулярного выражения .
Использование
gsub("^'|'$", '"', "'I don't go to work tomorrow 2'5.'")
## => "I don't go to work tomorrow 2'5."
gsub("\\b'\\b(*SKIP)(*FAIL)|'", '"', "'I don't go to work tomorrow 2'5.'", perl=TRUE)
## => "I don't go to work tomorrow 2'5."
gsub("'(?!(?<=\\p{L}')\\p{L})", '"', "'I don't go to work tomorrow 2'5.'", perl=TRUE)
## => "I don't go to work tomorrow 2"5."
См. R демо онлайн .