| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > RegEx |
| Автор: fromrus 11.2.2009, 11:21 |
| есть такая вот строка: 10.17.7.158#ПЧ-11#НОД[email protected]#ПЧ-14#НОД[email protected]#ПЧ-2 Орехово#НОД[email protected]#ПЧ-9#НОД[email protected]#ПЧ-1#НОД[email protected]#ПЧ-32#НОД[email protected]#ПЧ-33#НОД[email protected]#АЛЕКС доввод#НОД[email protected]#ПЧ-2#НОД[email protected]#М-ПАВ доввод#НОД[email protected]#ОРЕХ. доввод#НОД[email protected]#ЛОСИН доввод#НОД[email protected]#М-ЯР. доввод#НОД[email protected]#МТКУР доввод#НОД[email protected]#УЗУНВ доввод#НОД[email protected]#ОЖЕР. доввод#НОД[email protected]#МПКУР.Ю доввод bad#НОД[email protected]#МПКУР.Г доввод#НОД[email protected]#ШЧ-2#НОД[email protected]#ШЧ-2 (2)#НОД[email protected]#ШЧ-10#НОД[email protected]#ШЧ-10 (СЦБ)#НОД[email protected]#ШЧ-4 (СЦБ)#НОД[email protected]#ШЧ-4 (Связь)#НОД[email protected]#ШЧ-13#НОД[email protected]#ШЧ-13 (2)#НОД[email protected]#ШЧ-13 (связь)#НОД[email protected]#ПЧ-18#НОД[email protected]#ПЧ-12#НОД[email protected]#ПЧ-16#НОД[email protected]#ПЧ-17#НОД6 Чтобы не разбираться в этом скажу,что данные тут сгруппированы следующим образом: "цифры"#строка1#строка2@тоже самое@тоже самое Дело в том,что строка2 может повторяться сколь угодно раз,как и строка1. мне нужно вытащить все НЕОДИНАКОВЫЕ вхождения строк строка1 и строка2 и установить между ними соответствие-из текста видно,что каждой строке2 соответсвует много строка1,т.е. в результате ыввод должен быть следующий: НОД1-"все что соответствует НОД1" НОД6-"все что соответствует НОД6" НОД N-"все что соответствует НОД N" Помогите плз,а то уже с циклами замучился(алгоритмист из меня не очень) P.S.как вы поняли здесь представлена лишь небольшая часть текста для экономии места Добавлено через 6 минут и 21 секунду в данном случае для сопоставления у меня есть тип NOD и у него поле LIST<string>,которое представляет все строки,ассоциированные для этого нода |
| Автор: Rififi 11.2.2009, 13:50 | ||
в цикле вытаскиваешь значения числа и строка1, строка 2 и делаешь с ними что хочешь. |
| Автор: source777 11.2.2009, 17:05 | ||||
Добавлено через 2 минуты и 58 секунд регулярку можно ещё упростить до @"([\d.]+)\#(.+?)\#(.+?)(@|$)" |
| Автор: fromrus 11.2.2009, 17:27 |
| благодарю,уже пошел учить регулярки |
| Автор: source777 11.2.2009, 18:04 | ||
Кстати в данном примере ценность применения регулярок весьма сомнительна, достаточно:
|