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?