Pankaj
Pankaj

Reputation: 111

How to convert List as String from API to List of String

I'm getting the following String from an API:

"[4:00 PM - 5:00 PM, 5:00 PM - 6:00 PM, 6:00 PM - 7:00 PM, 7:00 PM - 8:00 PM, 10:00 AM - 11:00 AM, 11:00 AM - 12:00 PM, 12:00 PM - 1:00 PM, 1:00 PM - 2:00 PM, 2:00 PM - 3:00 PM]"

I want to convert this String to a List. How to convert it?

Upvotes: 1

Views: 321

Answers (4)

Mr Random
Mr Random

Reputation: 2218

this works

String data =
      "[4:00 PM - 5:00 PM, 5:00 PM - 6:00 PM, 6:00 PM - 7:00 PM, 7:00 PM - 8:00 PM, 10:00 AM - 11:00 AM, 11:00 AM - 12:00 PM, 12:00 PM - 1:00 PM, 1:00 PM - 2:00 PM, 2:00 PM - 3:00 PM]";

  List<String> dataList = data.replaceAll('[', '').replaceAll(']', '').split(',');

Upvotes: 2

Ishanga Vidusha
Ishanga Vidusha

Reputation: 304

Code :

void main() {
  String mylist = "[4:00 PM - 5:00 PM, 5:00 PM - 6:00 PM, 6:00 PM - 7:00 PM, 7:00 PM - 8:00 PM, 10:00 AM - 11:00 AM, 11:00 AM - 12:00 PM, 12:00 PM - 1:00 PM, 1:00 PM - 2:00 PM, 2:00 PM - 3:00 PM]";
  
  mylist = mylist.replaceAll('[', '');
  mylist = mylist.replaceAll(']', '');
  List<String> newList = mylist.split(',');
  print(newList[0]);
}

Output :

4:00 PM - 5:00 PM

Upvotes: 2

Emmanuel Sunday
Emmanuel Sunday

Reputation: 65

void main() {
  String list = "[4:00 PM - 5:00 PM, 5:00 PM - 6:00 PM,"
      " 6:00 PM - 7:00 PM, 7:00 PM - 8:00 PM,"
      " 10:00 AM - 11:00 AM, 11:00 AM - 12:00 PM,"
      " 12:00 PM - 1:00 PM, 1:00 PM - 2:00 PM, 2:00 PM - 3:00 PM]";

  List<String> out = [];

  String batch = "";
  for (String s in list.split("")) {
    if (s == "[" || s == "]") continue;
    if (s == ",") {
      out.add(batch);
      batch = "";
    } else
      batch += s;
  }

  print(out);
}



Output -> [4:00 PM - 5:00 PM,  5:00 PM - 6:00 PM,  6:00 PM - 7:00 PM,  7:00 PM - 8:00 PM,  10:00 AM - 11:00 AM,  11:00 AM - 12:00 PM,  12:00 PM - 1:00 PM,  1:00 PM - 2:00 PM]

Hope this helps! 😋

Upvotes: 2

Akif
Akif

Reputation: 7660

You can use split() method in Dart. It will look like this:

 void main() {

   String times = "4:00 PM - 5:00 PM, 5:00 PM - 6:00 PM, 6:00 PM - 7:00 PM, 7:00 PM - 8:00 PM, 10:00 AM - 11:00 AM, 11:00 AM - 12:00 PM, 12:00 PM - 1:00 PM, 1:00 PM - 2:00 PM, 2:00 PM - 3:00 PM"; 

   // Splitting the string 
   // across comma 
   print(times.split(",")); 

   List<String> timesList = times.split(",");
 }


 // Output: 
 //[4:00 PM - 5:00 PM,  5:00 PM - 6:00 PM,  6:00 PM - 7:00 PM,  7:00 PM - 8:00 PM,  10:00 AM - 11:00 AM,  11:00 AM - 12:00 PM,  12:00 PM - 1:00 PM,  1:00 PM - 2:00 PM,  2:00 PM - 3:00 PM]

Upvotes: 0

Related Questions