Преобразовать строку в массив в ruby? - PullRequest
0 голосов
/ 30 марта 2019

У меня есть такая строка:

"[\"fr\", \"sv\"]"

, и я хочу преобразовать эту строку в массив, как показано ниже.

["fr", "sv"]

Я слишком много пробовал, но не получил ожидаемого результата.Кто-нибудь может помочь?

Ответы [ 2 ]

5 голосов
/ 30 марта 2019

"[\"fr\", \"sv\"]" - это массив JSON-строк.

Вы должны разобрать строку как json:

require 'json'
# => true
JSON.parse("[\"fr\", \"sv\"]")
# => ["fr", "sv"]

Обратный процесс:

require 'json'
# => true
["fr", "sv"].to_json
# => "[\"fr\",\"sv\"]"
3 голосов
/ 30 марта 2019

Ваша строка выглядит как JSON , поэтому я бы использовал анализатор JSON:

require 'json'
string = "[\"fr\", \"sv\"]"

JSON.parse(string)
#=> ["fr", "sv"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...