我试图替换一个URL查询模式wID=xxx
,其中xxx
可以是数字、编号或空格,用查询wID=[[WID]]
替换它(请注意,查询区分大小写)。我想知道如何实现这一点。目前,我正在使用正则表达式在URL中找到该模式,并使用Regex.Replace()
进行替换,如下所示:
private const string Pattern = @"wID=^[0-9A-Za-z ]+$";
private const string Replace = @"wID=[[WID]]";
/// <summary>
/// Extension method to evaluate the url token for wid
/// </summary>
/// <param name="rawUrl">Incoming URL</param>
/// <returns>Expected URL</returns>
public string GetUrl(string rawUrl)
{
if (string.IsNullOrWhiteSpace(rawUrl))
{
return string.Empty;
}
string result = Regex.Replace(rawUrl, Pattern, Replace);
return result;
}
但是这并没有给我想要的输出,我猜测正则表达式模式是不正确的。有更好的方法吗? 我的问题与实现正则表达式模式以查找和替换URL查询参数值有关,我发现URI构建器在这些情况下更有帮助,可以使用它来解决这个问题。因此这是一个不同的问题。
[
和]
进行转义吗? - maccettura