在Ruby中使用.gsub双引号和标点符号

在Ruby中使用.gsub双引号和标点符号,ruby,gsub,Ruby,Gsub,我正在尝试删除字符串中的所有双引号: 例如:“玛丽说“注意”!” Mary说“Lookout”!?“来自一个带有textarea标记的html表单 <textarea id="receiver" name="receiver" class="form-control" maxlength= "1080" type="text"></textarea> 然后我就跑 Words.gsub!(/[!?/A"|"/Z]/, "") 我希望输出为: Mary sai

我正在尝试删除字符串中的所有双引号:

例如:“玛丽说“注意”!”

Mary说“Lookout”!?“来自一个带有textarea标记的html表单

     <textarea id="receiver" name="receiver" class="form-control"  maxlength= "1080" type="text"></textarea>
然后我就跑

Words.gsub!(/[!?/A"|"/Z]/, "")
我希望输出为:

Mary said Lookout
相反,我得到了一个错误

"Mary said "Lookout"!?".gsub!(/[!?/A"|"/Z]/, "")
 SyntaxError: (irb):4: syntax error, unexpected tCONSTANT, expecting end-of-input "Mary said "Lookout"!?".gsub!(/[!?/A"|"/Z]/, "")

你所犯的错误是因为你没有逃脱语音标记。Ruby一行只能听懂两个以上的语音标记,除非你告诉它它们应该在那里。试试这个:

"Mary said \"Lookout\"!?"

我相信你的gsub也有问题。首先尝试一下,看看您是否可以自己进一步了解。

我应该指定方法中的接收者来自表单,因此我无法将\\添加到字符串中。我应该指定方法中的接收者来自html表单。我相信Ruby总是会将字符串设置为双引号。请分享接收者和表单代码
"Mary said \"Lookout\"!?"