如果我有一个像下面的字符串...什么是正则表达式删除(可选)前导和尾随双引号?对于额外的功劳,它还可以删除引号之外的任何可选空格:
string input = "\"quoted string\"" -> quoted string
string inputWithWhiteSpace = " \"quoted string\" " => quoted string
Run Code Online (Sandbox Code Playgroud)
(对于使用Regex.Replace的C#)
Luk*_*keH 32
用它来做Regex.Replace这件事太过分了.请Trim改用.
string output = input.Trim(' ', '\t', '\n', '\v', '\f', '\r', '"');
Run Code Online (Sandbox Code Playgroud)
如果你只是想去掉空格这是外面的引号,保留任何这里面:
string output = input.Trim().Trim('"');
Run Code Online (Sandbox Code Playgroud)
除了使用正则表达式之外,您还可以使用String.Trim()- 更容易阅读,理解和维护.
var result = input.Trim('"', ' ', '\t');
Run Code Online (Sandbox Code Playgroud)
替换^\s*"?|"?\s*$为空字符串。
在 C# 中,正则表达式为:
string input = " \"quoted string\" "l
string pattern = @"^\s*""?|""?\s*$";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, "");
Console.WriteLine(result);
Run Code Online (Sandbox Code Playgroud)