如何从数组元素中删除字符?

JoM*_*ojo 7 ruby arrays replace

我有这样一个数组:

["ee", "3/4\"", "22\"", "22\""]
Run Code Online (Sandbox Code Playgroud)

我想要删除逗号,\"或者替换它,&#34以便数组看起来像这样:

["ee", "3/4", "22", "22"]
Run Code Online (Sandbox Code Playgroud)

或这个:

["ee", "3/4&#34", "22&#34", "22&#34"]
Run Code Online (Sandbox Code Playgroud)

原因是我试图将该数组从Ruby传递给JavaScript,但我不断得到一个"未终止的字符串常量错误",我无法找到解决方法!

这就是我用来将信息传递给JavaScript的方法:

cut_list="from_ruby_cut(\""+c[1]+"\")"
Run Code Online (Sandbox Code Playgroud)

Emi*_*ily 11

要使用修改后的版本替换数组中的每个元素,例如替换不需要的字符,可以使用该map!函数.在块内,用于gsub替换不需要的"字符.

array = ["ee", "3/4\"", "22\"", "22\""]

array.map!{ |element| element.gsub(/"/, '') }
array
#=> ["ee", "3/4", "22", "22"]

array.map!{ |element| element.gsub(/"/, '&#34') }
array
#=> ["ee", "3/4&#34", "22&#34", "22&#34"]
Run Code Online (Sandbox Code Playgroud)

但是,您也可以使用c[1].inspect而不是c[1]在构建JavaScript字符串时解决问题.如果你使用inspect,它将打印包含封闭引号的字符串,并使用反斜杠来转义字符串中的引号.