字符串函数(正则表达式?)从 url 字符串中删除查询字符串对

Bri*_*man 3 c# regex asp.net .net-4.0 c#-4.0

给定以下示例“字符串”:

  • somePage.aspx?id=20&name=brian&token=1234
  • somePage.aspx?id=20&token=1234&name=brian
  • somePage.aspx?token=1234&id=20&name=brian

我想在所有情况下删除令牌的名称/值对,所以我剩下:

  • somePage.aspx?id=20&name=brian
  • somePage.aspx?id=20&name=brian
  • somePage.aspx?id=20&name=brian

注意:由于各种原因,我不能使用 Uri 类。

是否有一个正则表达式或字符串函数可以做到这一点?

ean*_*533 5

我认为这对你有用(还没有机会测试)。

string s = "somePage.aspx?id=20&name=brian&token=1234";
s = Regex.Replace(s, @"(&token=[^&\s]+|token=[^&\s]+&?)", "");
Run Code Online (Sandbox Code Playgroud)

编辑:更新以正确处理令牌是第一对的情况。