如何使用 gsub 删除 . 在红宝石字符串的末尾?

vik*_*sad 2 ruby string substring ruby-on-rails gsub

我需要从字符串末尾删除所有特殊字符,这些字符有时会出现,有时不会。

我已经写了这个.gsub(/[,()'"]./,''),但它并没有.从字符串中删除(句号)。

你能告诉我这有什么问题吗?

Wik*_*żew 6

您可以使用

.gsub(/[,()'".]+\z/,'')
Run Code Online (Sandbox Code Playgroud)

点必须放在字符类内部,否定字符类必须用+(1 次或多次出现)进行量化,并且\z应添加锚点以断言字符串末尾的位置。

请参阅Rubular 演示