我有这样的字符串:
NoMethodError: undefined method 'sort_by!' for #<Hash:0x00007f98f03c84e0>
这些字符串可以包含n个这样的部分:<Hash:0x00007f98f03c84e0>
。
在这里, 0x00007f98f03c84e0
只是内存引用的占位符。并且Hash
也是此内存引用所在的对象的类型。无需讨论这些字符串是如何形成的,但最后我得到的字符串可以包含<ClassName:MEM_REF>
之类的东西而且我必须替换MEM_REF
部分。
回到我的原始示例,我想用我喜欢的任何字符串删除此内存引用部分0x00007f98f03c84e0
。同样,0x00007f98f03c84e0
是一个示例,它将是任意的内存地址。
正在寻找一种使用红宝石的优雅方法。
答案 0 :(得分:2)
尝试在ruby控制台中遵循正则表达式,应该可以:/:[0-9]x[0-9A-Za-z]*(?=>)/
。
要用其他任何方法掩盖这些裁判,请尝试input_string.gsub!(/:[0-9]x[0-9A-Za-z]*(?=>)/, "REPLACE_TEXT")