I have a scenario where I have to remove certain characters from a price string using C#.
I\'m looking for a regular expression to remove these characters or somethi
You can use following regular expression
Case 1: if ( Ex.TAX ) is constant, you can just remove the text using string function String.Replace.
Case 2: if you require number which contains only , following is the regex you can use to extract the same
[0-9,]{1,}
Case 3: if ( is there always there after number, the following regex can be used
\d.*(?=\()
following is c# code for regex
public static Regex regex = new Regex(
"\\d.*(?=\\() ",
RegexOptions.IgnoreCase
| RegexOptions.CultureInvariant
| RegexOptions.IgnorePatternWhitespace
| RegexOptions.Compiled
);
//// Capture the first Match, if any, in the InputText
// Match m = regex.Match(InputText);
To find "( Ex. TAX )" try this regex:
/\( Ex\. TAX \)/i
Regex rex = new Regex(@"(?:(?:\d{1,2},)?(?:\d{3},)*(?:\d{3})(?:\.\d+){0,})|(\d+)");
Console.WriteLine(rex.Match("3,950,000 ( Ex. TAX )").Groups[0].Captures[0].Value);
Console.WriteLine(rex.Match("3,950,000,000").Groups[0].Captures[0].Value);
Console.WriteLine(rex.Match("3,950,000,000UHFWF#FWHFWEFE").Groups[0].Captures[0].Value);
Console.WriteLine(rex.Match("3,950,000,000,000,000.00").Groups[0].Captures[0].Value);
Output:
String price = "3,950,000 ( Ex. TAX)".Replace(" ( Ex. TAX)","");
Why use a RegEx when a simple replace will do?
string clean = "3,950,000 ( Ex. TAX )".Replace(" ( Ex. TAX )", string.Empty);
try this
myPrice.Replace(" ( Ex. TAX ),"")