Как использовать gsub для удаления. в конце строки в рубине? - PullRequest
0 голосов
/ 19 января 2019

Мне нужно удалить все специальные символы в конце строки, которые иногда будут там, а иногда нет.

Я написал это .gsub(/[,()'"]./,''), но оно не удаляет . (полный стоп) из строки.

Можете ли вы сказать мне, что не так в этом?

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Это должно быть .gsub?

Строка # delete_suffix может быть проще.

my_string.delete_suffix '.'

0 голосов
/ 19 января 2019

Вы можете использовать

.gsub(/[,()'".]+\z/,'')

Точка должна быть помещена в класс символов, класс отрицанных символов должен быть количественно определен с помощью + (1 или более вхождений), и должен быть добавлен якорь \z, чтобы утверждать позицию в конце строки.

См. Rubular demo .

...