删除除撇号之外的所有特殊字符

时间:2017-08-10 20:06:06

标签: ruby regex

我知道有类似的问题。但是,我找不到一个完全像我的措辞。我不理解或研究正则表达式,这就是我需要问这个问题的原因。

我有一个方法可以在其中执行上述操作(标题):

def alternate_words(string)
  x = string.each {|char| char.gsub!(/[^0-9A-Za-z]/, '')}
end

这个正则表达式证明适用于大多数特殊字符。然而它确实删除了撇号,我想保留我的。我们怎样才能改变这个?

1 个答案:

答案 0 :(得分:3)

只需将撇号添加到否定的字符类:

def alternate_words(string)
  x = string.each {|char| char.gsub!(/[^0-9A-Za-z']/, '')}
  #                                           ---^---
end