У меня строка содержит текст «AA55BB10CC1DD10E123». Я должен разбить строку и поместить ее в поле «Список как текст/значение», напримерРазделить строку на C#
AA | 55
BB | 10
CC | 1
DD | 10
E | 123
Благодаря
У меня строка содержит текст «AA55BB10CC1DD10E123». Я должен разбить строку и поместить ее в поле «Список как текст/значение», напримерРазделить строку на C#
AA | 55
BB | 10
CC | 1
DD | 10
E | 123
Благодаря
Используя свой волшебный хрустальный шар, я определил, что это ответ, который вы искали!
string[] split = Regex.Matches("AA55BB10CC1DD10E123", @"[A-Z]+\d+")
.Cast<Match>()
.Select(x => Regex.Match(x.Value, @"[A-Z]+").Value + "|" + Regex.Match(x.Value, @"\d+").Value).ToArray();
Пожалуйста, попробуйте показать, что вы пробовали, это то, что вы ищете, я думаю.
List<string> split = Regex("[A-Z]{1}[a-z0-9]*");
split= reg.Matches(InputText).Cast<Match>().Select(m => m.Value).ToList();
Нет причин создавать экземпляр списка в вашей первой строке кода, если вы собираетесь просто выбросить его по строке 3. – itsme86
То есть очень верно, было просто показать раскол с помощью Regex. –
string text = "AA55BB10CC1DD10E123";
var letters = Regex.Split(text,@"\d").Where(t => !string.IsNullOrEmpty(t));
var digits = Regex.Split(text, @"[A-Z]").Where(t => !string.IsNullOrEmpty(t));
var myList = letters.Zip(digits, (l, d) => new {l,d});
Что ваши критерии раскола? Любое количество букв, за которыми следует любое число числовых цифр? –
И что вы пробовали? – lintmouse
Добро пожаловать в StackOverflow! Мы не являемся службами написания кода. Хотя мы будем рады помочь с вашим * конкретным * вопросом, пожалуйста, покажите нам, что вы написали до сих пор, и какую конкретную проблему вы столкнулись. Прочтите [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask) для получения более подробной информации. –