I’m cleaning up a search string and need to remove any periods that appear but keep decimal points when they are between two digits.
For example if I have a string
599.75, Tigers.
Then I would like it to come back as
599.75, Tigers
I was thinking a line like:
strNewString = RegEx.Replace(strOrigString, strRegEx, string.Empty);
Where strRegEx would match just the .’s to remove but I’m having a hard time figuring out how to match only the . and not the things surrounding it as well.
You should take advantage of the lookahead and lookbehind assertions. They don’t actually match characters in your input, but only determine whether a match is possible or not.
You can use negative lookaheads and negative lookbehinds to do the opposite of this, which is what’s appropriate here. Using the following for
strRegExwill match periods that are not surrounded by digits: