Есть строка вот такого типа:
Диагональ экрана: 32 ''; Соотношение сторон экрана: 16:9; Разрешение экрана: 1366x768; Технология экрана: ЖК; Частота обновления экрана: 50 Гц; TV-тюнер: DVB-T2, DVB-S2; Smart TV: есть; Мощность звука: 16 Вт; Разъемы вход и выход: HDMIx2, USBx2, Wi-Fi, Ethernet-LAN RJ-45, CI+, под наушники; Класс энергопотребления: A+; Поддержка 3D: нет; Цвет: черный; Крепление VESA: 100x100;
Нужно парсить строку по ":" и первое значение заносить в одно поле класса, а второе - в другое. Окончанием является ";".
Каким образом можно это сделать? Читал про split, но не понял как в цикле foreach распознать где первая половина строки, а где второе нужное значение.
string str = "...";
string[] semicolonPairs = str.Split(new char[]{';'}, StringSplitOptions.RemoveEmptyEntries);
for(int i = 0; i < semicolonPairs.Length; i++) {
string t = semicolonPairs[i].Trim();
if(t.Length > 0){
string[] pair = t.Split(new char[]{':'}, 2);
Console.WriteLine("name: " + pair[0] + ", value: " + pair[1]);
}
}
Можете "поиграться" здесь.
Аналог на JS.
var str = "Диагональ экрана: 32 ''; Соотношение сторон экрана: 16:9; Разрешение экрана: 1366x768; Технология экрана: ЖК; Частота обновления экрана: 50 Гц; TV-тюнер: DVB-T2, DVB-S2; Smart TV: есть; Мощность звука: 16 Вт; Разъемы вход и выход: HDMIx2, USBx2, Wi-Fi, Ethernet-LAN RJ-45, CI+, под наушники; Класс энергопотребления: A+; Поддержка 3D: нет; Цвет: черный; Крепление VESA: 100x100;";
var semiColonPairs = str.split(";");
for(var i = 0, sep = ":"; i < semiColonPairs.length; i++) {
var pair = semiColonPairs[i].split(sep);
if(pair.length > 1){
var name = pair.shift().trim();
var value = pair.join(sep).trim();
console.log("%o = %o", name, value);
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите пожалуйста в интернете не нашёл как отправить любой файл форматаtxt,
есть клиент серверное приложение на wpf c# с использованием Entity Framework и Sql Server, нужно зашифровать данные с помощью sql server ( да там есть выбор даже...
На работе постоянно приходится печатать маленькие этикетки для грузаНа данный момент заполняется excel таблица и печатается нужное количество...
Я хочу сделать полоску над врагом, получается вот это: