首页 > 解决方案 > 用双引号解析 Ruby 字符串

问题描述

在我的 ruby​​ on rails 项目中,我想创建一个包含字符串化数组的字符串。例如:

irb(main):047:0> array = ["a", "b", "c"]
=> ["a", "b", "c"]

现在我想用数组创建一个字符串,以便数组在每个元素周围用双引号进行字符串化。例如:

"my array is '["a","b","c"]'"

我已经尝试并得到:

irb(main):051:0> "my array is [#{array.map { |item| %Q["#{item}"] }.join(", ")}]"
=> "my array is [\"a\", \"b\", \"c\"]"

请注意,这\是不需要的,我想摆脱它们。所以我尝试了

irb(main):056:0> "my array is [#{array.map { |item| %Q["#{item}"] }.join(", ")}]".gsub('\\','')
=> "my array is [\"a\", \"b\", \"c\"]"

请注意,\它们仍然存在。

我如何得到它

"my array is '["a","b","c"]'"

或者是不可能做到的?谢谢!

标签: arraysruby-on-railsrubystringparsing

解决方案


我知道你问过双引号,但如果你的最终目标是创建一个字符串来演示你如何创建你的数组,你也可以考虑用不同的方式定义你的数组:

array = %w[a,b,c]

"my array is '%w#{array.to_s.gsub("\"", "")}'"

=>"my array is '%w[a,b,c]'"

推荐阅读