| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > RegExp |
| Автор: DenWPF 14.2.2010, 16:17 |
| Вообщем я использую очень ну удобную функцию самописную что бы вытащить все что находиться между двух элементов к прримеру, вытащить на странице все: начинается на "name@" и заканчивается на ";". моя функция принимает string, RegEx_start, RegEx_end и взоращается List<string> со всеми значениями что находятся между этих строчек. |
| Автор: Dobermann 14.2.2010, 16:24 |
| Поздравляю! И в чем проблема?! |
| Автор: DenWPF 14.2.2010, 16:50 | ||
довольно большой код, может что то есть более лучшего? |
| Автор: uranpro 14.2.2010, 17:14 |
| DenWPF, а для чего это нужно ? в каких целях используется ? |
| Автор: wester 14.2.2010, 19:39 | ||
быстренько набросал код. работает но в производительности незнаю каков
|
| Автор: DenWPF 14.2.2010, 20:12 |
| нет, даётся строка одна! в ней много элементов найти надо. |
| Автор: wester 14.2.2010, 20:22 | ||
|
| Автор: DenWPF 14.2.2010, 21:44 |
| а можно что бы с любыми значениями ? просто я не понимаю какие переменные за что отвечают Remove(0, 5) ? размер то первого вхождения разные могут быть.. |
| Автор: wester 14.2.2010, 22:36 | ||||||||
да запросто
1.создаю обьект StringBuilder 2.вставляю в него результат попадания 3.Удаляю первые пять символов с начала , потом с конца символ ; (например в первое попадание в Match.Value будет храниться "name@12;" я удаляю первая пять символов , а потом удаляю последний символ
не очень понял. Ну да разные.просто я извлекаю все что лежит между name@ и ; |
| Автор: DenWPF 14.2.2010, 23:23 |
| вместо 5 - надо размер вхождения первого. Replace(";", "") - зачем? |
| Автор: wester 14.2.2010, 23:28 | ||||
развер "name@" ? ну сделай две переменные "name@" и "\w+;" потом получи длину первой ,
здесь в результате мы избавляемся от последнего символа можно было сделать Remove() по сути одно и то же |