У меня есть следующий C #, который просто заменяет части входной строки, которые выглядят как EQUIP: 19d005, в URL, например:
input = Regex.Replace(input, @"(EQUIP:)(\S+)", @"<a title=""View equipment item $2"" href=""/EquipmentDisplay.asp?eqnum=$2"">$1$2</a>", RegexOptions.IgnoreCase);
HTML-код выглядит следующим образом.
<a title="View equipment item 19d005" href="/EquipmentDisplay.asp?eqnum=19d005">EQUIP:19d005</a>
Единственная проблема заключается в том, что целевая страница ожидает, что строка запроса eqnum будет иметь значение UPPERCASE, поэтому она возвращает правильное оборудование, когда eqnum = 19D005, но завершается ошибкой, если получает eqnum = 19d005.
Полагаю, я могу изменить и исправить ошибочное требование EquipmentDisplay.asp о значениях в верхнем регистре, однако, если возможно, я бы хотел, чтобы код C # соответствовал существующей классической странице ASP, указав верхний регистр $ 2 в приведенном выше утверждении Regex.Replace.
В идеале я бы хотел, чтобы возвращаемый HTML-код выглядел следующим образом:
<a title="View equipment item 19d005" href="/EquipmentDisplay.asp?eqnum=19D005">EQUIP:19d005</a>
Обратите внимание, что хотя исходная строка была EQUIP: 19d005 (нижний регистр), в верхнем регистре только значение eqnum =.
Можно ли это сделать, и если да, то какой самый аккуратный способ сделать это?