Для целых чисел вы можете сделать синтаксический анализ:
void main() {
print(parseStringAsIntList("[1,2,4]")); // [1, 2, 4]
}
List<int> parseStringAsIntList(String stringOfInts) => stringOfInts
.substring(1, stringOfInts.length - 1)
.split(',')
.map(int.parse)
.toList();
Мне нужна дополнительная информация о том, как строки сохраняются в некоторых угловых случаях, например, если они содержат ,
и / или '
, так как это изменит способ синтаксического анализа. Но если в строке допустимы оба символа (особенно ,
), я рекомендую вам изменить формат хранения на JSON, что значительно упрощает кодирование / декодирование и без риска использования символов, которые могут дать вам вопросов).
Но довольно наивное решение может быть принято следующим образом, если мы знаем, что каждая строка не содержит ,
:
void main() {
print(parseStringAsStringList("['element1','element2','element23']"));
// [element1, element2, element23]
}
List<String> parseStringAsStringList(String stringOfStrings) => stringOfStrings
.substring(1, stringOfStrings.length - 1)
.split(',')
.map((string) => string.substring(1, string.length - 1))
.toList();