У меня есть строка "Salle: C101 Prof: ALa Spe: Gestion de projet: служебные и прочие работы \ Alt \ LP_CDTL"
, и я хотел бы разделить, чтобы иметь
["Salle", "C101"]
["Prof", "Ala"]
["Spe", "Gestion de projet : outils et mise en oeuvre"]
и преобразовать его в json
[
{
"Salle": "C101",
"Prof": "Ala"
"Spe": "Gestion de projet : outils et mise en oeuvre"
}
]
Я знаю, как преобразовать его в json, мне просто нужна помощь, чтобы правильно разбить строку.
Редактировать
Вот моя первая попытка, но я надеюсь, что есть лучшее решение.
String desc = "Salle:C101 Prof:ALa Spe:Gestion de projet : outils et mise en oeuvre\\Alt\\LP_CDTL";
String salle = desc.substring(0, desc.indexOf('Prof') - 1);
String prof = desc.substring(
desc.indexOf(salle) + salle.length + 1,
desc.indexOf('Spe') - 1);
String spe = desc.substring(
desc.indexOf(prof) + prof.length + 1,
desc.indexOf('\\'));
List<String> salleList = salle.split(':');
String salleKey = salleList[0];
String salleValue = salleList[1];
List<String> profList = prof.split(':');
String profKey = profList[0];
String profValue = profList[1];
List<String> speList = spe.split(':');
String speKey = speList[0];
String speValue = speList.sublist(1).join(':');
print('[$salleKey:$salleValue]'); // Result : [Salle:C101]
print('[$profKey:$profValue]'); // Result : [Prof:ALa]
print('[$speKey:$speValue]'); // Result : [Spe:Gestion de projet : outils et mise en oeuvre]