2015-10-25 5 views
0

Использование Regex.Replace и C# Я пытаюсь заменить все символы между двумя разделителями, но я изо всех сил стараюсь сделать это в многострочном сценарии только на одной линии.Regex.Replace - Заменить строку между двумя символами в многострочном сценарии

Мое регулярное выражение:

\<(.*?)\> 

Моего данные:

< 
★ Gut Knife | Marble Fade (Factory New) - 40k 
Shadow Case Key - 1k 
AWP | Asiimov (Battle-Scarred) - 8k 
AWP | Hyper Beast (Well-Worn) - 9k 
StatTrak™ AWP | Redline (Minimal Wear) - 21k 
Five-SeveN | Monkey Business (Field-Tested) - 1k 
> 

Теперь я знаю, что вы можете использовать \s сигнализировать вы хотите регулярное выражение, чтобы соответствовать новой строке, однако любой комбинации я пытаюсь с выше Regex ISN Не работаем.

Любая помощь приветствуется.

+0

'<[^<>] *>' .............. –

+0

Опубликовать как ответ плохо отметьте его правильно. Спасибо! – MattGarnett

ответ

2

Отрицающий характер класса [^<>] также будет соответствовать символу новой строки, так как точка не будет, если вы укажете dotall модификатор (?s)

@"<[^<>]*>" 

или

@"(?s)<.*?>" 

Используйте выше регулярное выражение в Regex.Replace и затем замените совпадение пустой строкой.

+0

Итак, самый простой способ найти ВСЕ между двумя разделителями - использовать отрицательный класс символов с разделителями, содержащимися в нем? Понимаю, это была большая помощь, спасибо! – MattGarnett

+0

Добро пожаловать :) –

+0

Иногда вы видите смешное лицо, но это просто регулярное выражение. – SimpleVar

Смежные вопросы