В R заменить знаки препинания. внутри строки

Я заглянул в Интернет и нашел эту веб-страницу в R , заменить текст в строке, чтобы заменить текст в строке.

Я попробовал тем же способом заменить знак препинания "." в другой знак препинания "-", но это не сработало.

 group <- c("12357.", "12575.", "197.18", ".18947")
 gsub(".", "-", group)

дает этот вывод

 [1] "------" "------" "------" "------"

вместо

 [1] "12357-" "12575-" "197-18" "-18947"

Есть ли альтернативный способ сделать это?


person JauntyJJ    schedule 12.10.2015    source источник


Ответы (1)


"." в языке регулярных выражений означает «любой символ». Чтобы захватить фактическую точку, вам нужно ее избежать, поэтому:

gsub("\\.", "-", group)
#[1] "12357-" "12575-" "197-18" "-18947"

Как упоминал @akrun в комментариях, если вы предпочитаете, вы также можете заключить его в скобки, тогда вам не нужно его экранировать:

gsub('[.]', '-', group)
[1] "12357-" "12575-" "197-18" "-18947"
person Cath    schedule 12.10.2015