skip to Main Content

I am confusing some string conversion in dart.

for example = String Stringsample = "['2022-11-24', '2022-11-30']";

Stringsample is String, not a List, so i want to get two item in this String, how to do that,

Expecting output be like:
  String str1 = '2022-11-24',
 String str2 = '2022-11-30',

How to do that, i am stucking this conversion, Please add your valuable replays

3

Answers


  1. Here are three examples:

    import 'dart:convert';
    
    void main() {
      final String stringSample = "["2022-11-24", "2022-11-30"]";
    
      final List<dynamic> listDynamicSample = json.decode(stringSample);
      
      final String str1 = listDynamicSample[0];
      final String str2 = listDynamicSample[1];
      
      print(str1);
      print(str2);
    }
    

    import 'dart:convert';
    
    void main() {
      final String stringSample = "['2022-11-24', '2022-11-30']";
    
      final List<dynamic> listDynamicSample = json.decode(stringSample.replaceAll("'", '"'));
    
      final String str1 = listDynamicSample[0];
      final String str2 = listDynamicSample[1];
    
      print(str1);
      print(str2);
    }
    

    void main() {
      final String stringSample = "['2022-11-24', '2022-11-30']";
    
      final List<String> listDynamicSample = stringSample.split("'");
    
      final String str1 = listDynamicSample[1];
      final String str2 = listDynamicSample[3];
    
      print(str1);
      print(str2);
    }
    
    Login or Signup to reply.
  2. Try the following code:

    String Stringsample = "['2022-11-24', '2022-11-30']";
    String modifiedString = "";
    List<String> datesList = [];
    
    modifiedString = Stringsample.substring(1, Stringsample.length - 1);
    datesList = modifiedString.split(",").toList();
    
    String str1 = datesList[0];
    String str2 = datesList[1];
    
    Login or Signup to reply.
  3. Unlike the above people, there is also a way to use regular expressions (I think this is better).

    String sample = "['2022-11-24', '2022-11-30']";
    
    var test = sample.replaceAll(RegExp(r'''[[]'" ]'''), '').split(',');
    
    String str1 = test[0];
    String str2 = test[1];
    
    // print(test); // [2022-11-24, 2022-11-30]
    // print(str1); // 2022-11-24
    // print(str2); // 2022-11-30
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search