2013-08-30 2 views
-2
<IndustryCapab,ilityDescr>RES</IndustryCapabilityDescr><IndustryS,pecialtyDescr>RES-Cross Industry</IndustrySpecialt,yDescr> 

Желаемый результат:Regex соответствовать и удаления запятой (,) внутри тега

</CapabilityDescr><IndustryCapabilityDescr>RES</IndustryCapabilityDescr><IndustrySpecialtyDescr>RES-Cross Industry</IndustrySpecialtyDescr> 
+3

И что вы пробовали? Какие исследования вы сделали в виде регулярного выражения, которое могло бы помочь вам здесь? – Adrian

ответ

4
resultString = Regex.Replace(subjectString, @"\,(?=[^<>]*>)", ""); 

Подробно:

\, # Match запятая

(?= # только если следующее соответствие можно совместить в текущей позиции:

[^<>]* # - ноль или больше символов, за исключением < или>

# - followed by a > 

) # Конец опережения утверждения

+0

запятая не является метасимволом, поэтому вы можете легко написать ',' – alex555

1

попробовать это (в C#)

var s = "<IndustryCapab,ilityDescr>RES</IndustryCapabilityDescr><IndustryS,pecialtyDescr>RES-Cross Industry</IndustrySpecialt,yDescr>"; 
var sNew = Regex.Replace(s, @"(?<=</?\w+),(?=\w+>)",""); 

Мы используем позитивный взгляд и lookbehind для сортировки из всех слов и тегов вокруг и посмотреть только на запятую.

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