Подстроки и расщепление - PullRequest
0 голосов
/ 14 ноября 2018

У меня много сообщений, отформатированных так:

"42[\"message\",\"base64:QWZ0ZXIgQnVuZGxlciBpbnN0YWxscyB0aGUgZ2VtcyBpbiB5b3VyIEdlbWZpbGUsIHlvdSBjYW4gcHJvY2VlZCB0byByZWZlcmVuY2UgdGhlbSBpbiA0eTQ0NG91ciBjb2RlIGp1c3QgYXMgaWYgeW914oCZZCBpbnN0YWxsZWQgdGhlbSB5b3Vyc2VsZi4=\"]"

Что я хочу сделать, если сообщение содержит base64: затем извлечь подстроку после двоеточия и до следующей кавычки.

edit: это работает, но, вероятно, ужасно.

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

1 Ответ

0 голосов
/ 14 ноября 2018
message = "42[\"message\",\"base64:QWZ0ZXIgQnVuZGxlciBpbnN0YWxscyB0aGUgZ2VtcyBpbiB5b3VyIEdlbWZpbGUsIHlvdSBjYW4gcHJvY2VlZCB0byByZWZlcmVuY2UgdGhlbSBpbiA0eTQ0NG91ciBjb2RlIGp1c3QgYXMgaWYgeW914oCZZCBpbnN0YWxsZWQgdGhlbSB5b3Vyc2VsZi4=\"]"
base64 = message[/base64:(.+?)"/, 1]
puts(Base64.decode64(base64)) unless base64.nil?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...