gpt4 book ai didi

C# 删除空 url 参数正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 20:58:00 25 4
gpt4 key购买 nike

我正在尝试使用 C# 从字符串中删除空的 url 类型参数。我的代码示例在这里。

    public static string test ()
{
string parameters = "one=aa&two=&three=aaa&four=";
string pattern = "&[a-zA-Z][a-zA-Z]*=&";
string replacement = "";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(parameters, replacement);

return parameters;
}

public static void Main(string[] args)
{
Console.WriteLine(test());
}

我尝试了 rextester 中的代码

输出:one=aa&two=&three=aaa&four=

预期输出:one=aa&three=aaa

最佳答案

你绝对不需要为此推出自己的正则表达式,尝试使用 HttpUtility.ParseQueryString() :

public static string RemoveEmptyUrlParameters(string input)
{
var results = HttpUtility.ParseQueryString(input);

Dictionary<string, string> nonEmpty = new Dictionary<string, string>();
foreach(var k in results.AllKeys)
{
if(!string.IsNullOrWhiteSpace(results[k]))
{
nonEmpty.Add(k, results[k]);
}
}

return string.Join("&", nonEmpty.Select(kvp => $"{kvp.Key}={kvp.Value}"));
}

fiddle here

关于C# 删除空 url 参数正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48445767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com