gsub: добавление пробела после знаков препинания

Предположим, у меня есть следующее

a <- ".mama" 

и я хотел бы получить следующее:

". mama"  # one space after .

Не работает следующее:

a <- gsub(".m", ". m", a)

Может ли кто-нибудь помочь мне с этим основным вопросом?


person Hernan Perez Cortes    schedule 24.10.2016    source источник
comment
Какой язык вы пытаетесь использовать? Что значит не работает конкретно? Каков результат?   -  person rici    schedule 24.10.2016
comment
@rici Он использует R, и я обновил теги. Это также объясняет, почему множество людей еще не видели этот вопрос (например, @akrun).   -  person Tim Biegeleisen    schedule 24.10.2016


Ответы (1)


В настоящее время ваша замена использует буквальную точку (.), что означает совпадение с любым символом. Следовательно, последовательность символов am также совпадает и заменяется на . m. Вместо этого избегайте точки:

a <- gsub("\\.m", ". m", a)
[1] ". mama"

Альтернатива от @alistaire

a <- gsub(".m", ". m", a, fixed=TRUE)

Альтернатива от @Jota

a <- gsub("[.]m", ". m", a)
person Tim Biegeleisen    schedule 24.10.2016