从字符串中删除括号

时间:2019-05-11 00:15:28

标签: ruby

LEFT OUTER JOIN

输出为:[“ abaabbababbabaababbaaabbabbabaaaabbaaaababbaabababbabbaa”]

我已经厌倦了很多东西来卸下支架。我知道gsub可能会工作,但这看起来并不好。我也肯定有更好的方法。我没有运气就厌倦了使用.shift。也累了。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

“问题”是您正在将数组转换为字符串。解压的结果是返回一个数组,并且您在其中调用to_s,所以您得到:

p "Michael".unpack("B*") # ["01001101011010010110001101101000011000010110010101101100"]
p "Michael".unpack("B*").to_s # "[\"01001101011010010110001101101000011000010110010101101100\"]"

您只需获得第一个也是唯一一个结果,而无需应用to_s,就可以进行所需的替换:

"Michael".unpack("B*").first.gsub("1", "b").to_s.gsub("0", "a")
# "abaabbababbabaababbaaabbabbabaaaabbaaaababbaabababbabbaa"

请注意,如果您只是将0替换为a,将1替换为b,则可以使用tr

p "Michael".unpack("B*").first.tr("01", "ab")
# "abaabbababbabaababbaaabbabbabaaaabbaaaababbaabababbabbaa"

结果相同。