Ruby 子串与分裂

Ruby 子串与分裂,ruby,string,Ruby,String,我有很多这样格式的消息 "42[\"message\",\"base64:QWZ0ZXIgQnVuZGxlciBpbnN0YWxscyB0aGUgZ2VtcyBpbiB5b3VyIEdlbWZpbGUsIHlvdSBjYW4gcHJvY2VlZCB0byByZWZlcmVuY2UgdGhlbSBpbiA0eTQ0NG91ciBjb2RlIGp1c3QgYXMgaWYgeW914oCZZCBpbnN0YWxsZWQgdGhlbSB5b3Vyc2VsZi4=\"]" 我要做的是,如果消息包含bas

我有很多这样格式的消息

"42[\"message\",\"base64:QWZ0ZXIgQnVuZGxlciBpbnN0YWxscyB0aGUgZ2VtcyBpbiB5b3VyIEdlbWZpbGUsIHlvdSBjYW4gcHJvY2VlZCB0byByZWZlcmVuY2UgdGhlbSBpbiA0eTQ0NG91ciBjb2RlIGp1c3QgYXMgaWYgeW914oCZZCBpbnN0YWxsZWQgdGhlbSB5b3Vyc2VsZi4=\"]"
我要做的是,如果消息包含base64:则在冒号之后和下一个引号之前提取子字符串

编辑:这很有效,但可能很可怕

if event.data.include? 'base64:'
    new_string = event.data[event.data.rindex("base64:") + "base64:".length..-3]
    puts new_string
end

是什么阻止了你?到目前为止你试过什么?给我们看看你的代码。。。
message = "42[\"message\",\"base64:QWZ0ZXIgQnVuZGxlciBpbnN0YWxscyB0aGUgZ2VtcyBpbiB5b3VyIEdlbWZpbGUsIHlvdSBjYW4gcHJvY2VlZCB0byByZWZlcmVuY2UgdGhlbSBpbiA0eTQ0NG91ciBjb2RlIGp1c3QgYXMgaWYgeW914oCZZCBpbnN0YWxsZWQgdGhlbSB5b3Vyc2VsZi4=\"]"
base64 = message[/base64:(.+?)"/, 1]
puts(Base64.decode64(base64)) unless base64.nil?