resultString = Regex.Replace(subjectString, @"\.(?=[^<>]*>)", "");
replaces a point with an empty string only if the next next angle bracket is the closing angle bracket.
This, of course, is fragile, because brackets with a closing angle may appear between the tags in the text, but if you are sure that this will not happen, you should be fine.
Explanation:
\.
(?=
[^<>]*
>
)
source
share