2013-09-02 6 views
0

У меня возникла проблема с C#, чтобы найти подстроку, которая не содержит определенного слова, но содержит определенное слово.Найти подстроку, которая не содержит компонент, но содержит любое другое конкретное слово --RegEx

Ex:

Входная строка: Компьютер фантастический * DEV * ISE .will * DEV * идентификатор приходят ?.

Ограничить: найти «dev», где строка не содержит «id». и заменить «Rox-»

Выходная строка: Компьютер является фантастическим Roxise .will Девид пришел ?.

Это просто пример, поэтому моя строка фильтра может быть любой, и она будет динамически.

мне нужно сделать это в C# RegEx

Спасибо заранее.

+0

Каков ожидаемый результат для следующего тестового примера: 'Devit Devkjasid iddevg devaijd devitkjdevks'? – nhahtdh

ответ

0
yourstr=Regex.Replace(yourstr,"(?i)dev(?!\S*id)","Rox"); 

Входной: Компьютер фантастический Разрабатывают .will Девид comedevkkid ?.

Выход: Компьютер - фантастическая Roxise. Будет ли комедеккид?

Это то, что вы хотите?

+0

Спасибо за ваш быстрый ответ. – Rohit

+0

добро пожаловать, вы можете добавить свои новые ревизоры с комментариями. –

+0

Да, отлично. Можем ли мы заменить подстроку, которая находится только в середине строки. Если такая же подстрока входит в середину и слева/справа от строки, ее следует игнорировать. например, Input: «ashoooash ooooashooashoo oooooash». Результат: «ashoooash ooooSuccessooSucessoo oooooash». Замените «ash» текстом «Success». – Rohit

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