Ruby on rails gsub!清理字符串,去掉撇号
试图删除字符串中的撇号。使用下面的代码,我已经删除了撇号和空格,有人能帮我修复它,所以我只是删除撇号吗Ruby on rails gsub!清理字符串,去掉撇号,ruby-on-rails,ruby,string,gsub,code-cleanup,Ruby On Rails,Ruby,String,Gsub,Code Cleanup,试图删除字符串中的撇号。使用下面的代码,我已经删除了撇号和空格,有人能帮我修复它,所以我只是删除撇号吗 def clean_uniname(text) return text.gsub!(/\s|"|'/, '') end 这应该可以做到: def clean_uniname(text) text.gsub!("'", '') end \s表示“空白字符,”表示引号。如果您不想在正则表达式中使用引号,请将其拉入。有关调试帮助,请尝试进行测试 这意味着您的代码应该是
def clean_uniname(text)
return text.gsub!(/\s|"|'/, '')
end
这应该可以做到:
def clean_uniname(text)
text.gsub!("'", '')
end
\s
表示“空白字符,”
表示引号。如果您不想在正则表达式中使用引号,请将其拉入。有关调试帮助,请尝试进行测试
这意味着您的代码应该是:
def clean_uniname(text)
text.gsub!(/\s|"|'/, '')
text
end
值得注意的是,
gsub!
如果未做任何更改,则返回nil
,因此如果使用返回值,此处需要显式返回text
。尝试过,我收到了以下错误:testing.rb:41:in进程中的block\u unis:nil:nil类(NoMethodError)的未定义方法该错误与您提到的问题无关,如下所示:2.2.1:001>string=“我是字符串”=>“我是字符串”2.2.1:002>string.gsub!(“,”)=>“我是字符串”“2.2.1:003>如果您发布更多代码,我可以帮助您解决其他问题,但您最好打开一个新问题并标记我对此问题的答案,因为我的答案解决了您提出的问题。撇号和单引号使用相同的符号,但含义不同。假设你的字符串是“她说,‘我不知道’
。你想获得“她说,'我不知道'”
(只删除撇号)还是“她说,我不知道”
(删除符号““
)还是其他什么?如果是前者,那就有点棘手了,因为有些词在最后一个字符后面有一个撇号(“兄弟”,或者是以“s”结尾的词的所有格形式,比如“克里斯的车”),有些词有多个撇号(“不可能”)。