2014-01-10 3 views
0

, если только один & усилителем я мог бы использоватьЗаменить и усилитель или несколько и усилитель с использованием регулярных выражений

value = value.Replace("&","&") 

но за проверку данных, некоторые есть «& усилителя, усилитель» и многие другие.

Почему он декодируется с несколькими усилителями, когда исходный текст является только одним «&»?

Я не эксперт по регулярному выражению, я бы хотел обратиться за помощью, чтобы просто создать регулярное выражение, которое расшифровывает его только на один амперсанд.

Большое спасибо за тех, кто поможет :) Спасибо

+0

Проблема, как это происходит в средах, где HTML кодирование и декодирование не находится в равновесии. По-видимому, по-прежнему есть люди, которые не видят, что кодировка HTML * не * идемпотентна и предполагает, что лучше кодировать/декодировать один раз слишком много, нежели слишком мало. Эта ситуация заставила вас потерять след; теперь нет способа узнать, предназначалось ли сообщение & или просто кодировка. –

+0

Вы точно говорили, что текст похож на '& amp', а не' & amp; '? Если это так, то есть только одно совпадение для группировки «amp;», что объясняет ваши результаты. Если нет, то, пожалуйста, отредактируйте свой вопрос, чтобы быть более точным. –

+0

yah Я пропустил данные при попытке воссоздать его в более низкой среде, это & amp; Благодаря! и извините за путаницу! – user2450064

ответ

1

Вы можете попробовать искать:

&(amp;)+ 

так:

value = value.Replace("&(amp;)+","&") 
+0

Я использовал stripped = Regex.Replace (HTMLToStrip, «&(amp;) +», «&»), но в итоге он заменяет только первый & странный! – user2450064