Разбить строку регулярным выражением - C#

Узнай цену своей работы

Формулировка задачи:

Есть питоновские списки, представленные в виде строк
string a = "[['18', '35'], ['36', '45'], ['46', 'inf']]"
string b = "['admin', 'unknown', 'unemployed', 'management', 'housemaid', 'entrepreneur', 'student']"
string c = "['yes', 'no']"
Как разбить эти строки по запятым? Если разбивать обычным Split, то с b и с всё в порядке, а a бьётся отдельно на a[0] = "[18" и a[1] = "35]" Подскажите, пожалуйста, правильное регулярное выражение

Решение задачи: «Разбить строку регулярным выражением»

textual
Листинг программы
using System;
using System.Linq;
using System.Text.RegularExpressions;
 
namespace ConsoleApp1
{
   class Program
   {
      static void Main(string[] args)
      {
         string a = "[['18', '35'], ['36', '45'], ['46', 'inf']]";
         string b = "['admin', 'unknown', 'unemployed', 'management', 'housemaid', 'entrepreneur', 'student']";
         string c = "['yes', 'no']";
 
         string pattern = @"\W\W*";
 
         var a1 = Regex.Split(a, pattern).Where(x => x != "");
         var b1 = Regex.Split(b, pattern).Where(x => x != "");
         var c1 = Regex.Split(c, pattern).Where(x => x != "");
 
         Console.WriteLine(string.Join(" ", a1));
         Console.WriteLine(string.Join(" ", b1));
         Console.WriteLine(string.Join(" ", c1));
 
         Console.ReadKey();
      }
   }
}

Оцени полезность:

14   голосов , оценка 4.071 из 5
Похожие ответы