如何使用 gsub 删除 .在 ruby 中的字符串末尾?

How to use gsub to remove . at the end of the string in ruby?

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

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

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

您可以使用

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

点必须放在字符class内,否定字符class必须用+量化(出现1次或多次)和\z锚点应该添加断言字符串末尾的位置。

参见Rubular demo

一定要.gsub吗?

String#delete_suffix可能更简单。

my_string.delete_suffix '.'