Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用另一个值替换查询字符串的一部分_C# - Fatal编程技术网

C# 用另一个值替换查询字符串的一部分

C# 用另一个值替换查询字符串的一部分,c#,C#,我有这个url..我想用其他值替换rem=288(这个288不是静态的),比如membership=1。有人能告诉我怎么做吗。 正在考虑做一个子字符串,然后合并,但不确定是否有一个已经很容易做到这一点的过程 谢谢这应该适合您。根据您的url模式,这将用另一个值更改所有的“rem=x”。在这种情况下,它是“membership=1”,当然您也可以将其设置为动态 var url = "http://spdata.com?value=1&rem=288&data=1"; var pa

我有这个url..我想用其他值替换rem=288(这个288不是静态的),比如membership=1。有人能告诉我怎么做吗。 正在考虑做一个子字符串,然后合并,但不确定是否有一个已经很容易做到这一点的过程


谢谢

这应该适合您。根据您的url模式,这将用另一个值更改所有的
“rem=x”
。在这种情况下,它是
“membership=1”
,当然您也可以将其设置为动态

var url = "http://spdata.com?value=1&rem=288&data=1";

var parts = url.Split('&').Select(x =>
        {
            if (x.Contains("rem=")) return "membership=1";
            return x;
        });

var result = string.Join("&", parts);

这应该适合您。根据您的url模式,这将使用另一个值更改所有的
“rem=x”
。在这种情况下,它是
“membership=1”
,当然您也可以将其设置为动态

var url = "http://spdata.com?value=1&rem=288&data=1";

var parts = url.Split('&').Select(x =>
        {
            if (x.Contains("rem=")) return "membership=1";
            return x;
        });

var result = string.Join("&", parts);

如果您想要简单、快速和可读,那么为什么不将字符串连接在一起呢?或者使用string.Format

string key="rem";
string value="288";
string.Format("http://spdata.com?value=1&{0}={1}&data=1", key, value)

如果您想要简单、快速和可读,那么为什么不将字符串连接在一起呢?或者使用string.Format

string key="rem";
string value="288";
string.Format("http://spdata.com?value=1&{0}={1}&data=1", key, value)

你可以用正则表达式来做

大概是这样的:

using System.Text.RegularExpressions;
string newUrl= Regex.Replace("http://spdata.com?value=1&rem=288&data=1", @"rem=\d*", "membership=1",RegexOptions.IgnoreCase);

你可以用正则表达式来做

大概是这样的:

using System.Text.RegularExpressions;
string newUrl= Regex.Replace("http://spdata.com?value=1&rem=288&data=1", @"rem=\d*", "membership=1",RegexOptions.IgnoreCase);
试着用这个

   string text = "membership=1";
   string x = "http://spdata.com?value=1&rem=288&data=1 ";
   int y = x.IndexOf("rem=");

   string z = x.Substring(y, x.Length - y);

   int a = z.IndexOf("&");

   string url = x.Substring(0, y) + text + z.Substring(a, z.Length - a);
试着用这个

   string text = "membership=1";
   string x = "http://spdata.com?value=1&rem=288&data=1 ";
   int y = x.IndexOf("rem=");

   string z = x.Substring(y, x.Length - y);

   int a = z.IndexOf("&");

   string url = x.Substring(0, y) + text + z.Substring(a, z.Length - a);

你是在动态构建这个url吗?或者你有一大块文本,其中有许多url需要替换吗?你是在动态地构建那个url吗?或者你是否有一大块包含许多URL的文本需要替换?非常好而且精确。@Agustin非常好的回答bro值得接受回答并投票:)非常好而且精确。@Agustin非常好的回答bro值得接受回答并投票:)