#c# #regex
#c# #регулярное выражение
Вопрос:
У меня большой массив имен. Программное обеспечение называет их очень длинными и не имеет способа переопределить это. Я хочу просто получить имя файла, которое мне нужно. Я использую регулярное выражение, потому что кажется, что оно должно иметь возможность получить только эту часть строки. Любая помощь была бы отличной, я провел день безрезультатно.
Вот результат.
UCM — S — Загрузка 1H_lester.virata.sfw811 — Лист — 1H-S11-00 — ПЛАН ОСНОВАНИЯ УРОВНЯ 01
UCM — S — Загрузка 1H_lester.virata.sfw811 — Лист — 1H-S11-00A — ПЛАН УСИЛЕНИЯ УРОВНЯ 01
UCM — S — Загрузка 1H_lester.virata.sfw811 — Лист — 1H-S11-01A — ПЛАН УСИЛЕНИЯ КРЫШИ 02 УРОВНЯ
Я хочу вернуть: 1HS1100 1HS1100A 1HS1101A
Комментарии:
1. Где регулярное выражение, которое вы пробовали? … Похоже, вам нужно это включить.
2. » d w W w d d W d d w?» Я использовал это, а затем заменил «-» на «». Я бы хотел, чтобы об этом просто позаботилось регулярное выражение. но не могу найти способ.
Ответ №1:
Вы можете записать строки с переносом w -[w-]
с помощью (пример), а затем обработать их с помощью команды substitution / replace для замены '-'
with ''
.
Комментарии:
1. вот как я это делаю в данный момент, но ваше регулярное выражение более элегантно, поэтому я заменю свое на ваше.
Ответ №2:
«^[^d] (dw)_w .w .(w )[^d] (w )-(w )-(w )[^d] (d )»
Просто объедините все совпадения из приведенного выше регулярного выражения, и это должно сработать.