If I have a string like below... what is the regular expression to remove the (optional) leading and trailing double quotes? For extra credit, can it also remove any optional white space outside of the quotes:
string input = "\"quoted string\"" -> quoted string
string inputWithWhiteSpace = " \"quoted string\" " => quoted string
(for C# using Regex.Replace)
It's overkill to use
Regex.Replace
for this. UseTrim
instead.And if you only want to remove whitespace that's outside the quotes, retaining any that's inside:
I would use String.Trim method instead, but if you want regex, use this one:
I created a slightly modified version of another pattern that works pretty well for me. I hope this helps for separating normal command-line parameters and double-quoted sets of words that act as a single parameter.
Besides using a regular expression you can just use
String.Trim()
- much easier to read, understand, and maintain.Replace
^\s*"?|"?\s*$
with an empty string.In C#, the regex would be: