Разбить строку регулярным выражением - C#
Формулировка задачи:
Есть питоновские списки, представленные в виде строкКак разбить эти строки по запятым?
Если разбивать обычным Split, то с b и с всё в порядке, а a бьётся отдельно на a[0] = "[18" и a[1] = "35]"
Подскажите, пожалуйста, правильное регулярное выражение
string a = "[['18', '35'], ['36', '45'], ['46', 'inf']]" string b = "['admin', 'unknown', 'unemployed', 'management', 'housemaid', 'entrepreneur', 'student']" string c = "['yes', 'no']"
Решение задачи: «Разбить строку регулярным выражением»
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(); } } }