如何替换C#中的字符串?

如何替换C#中的字符串?,c#,asp.net,C#,Asp.net,我有字符串字符串测试=”http://www.test.com//web?testid=12“ 我需要将字符串/中的替换为/ 问题是如果我使用string a=test.replace(“/”,“/”)我得到http:/www.test.com/web?testid=12全部使用单斜杠(/),但我需要http://www.test.com/web?testid=12 我只需要网站附近的第二个/,而不是www附近的第一个/ 如何进行此操作?您可以进行第二次更换 string test="http:

我有字符串
字符串测试=”http://www.test.com//web?testid=12“

我需要将字符串/中的替换为/

问题是如果我使用
string a=test.replace(“/”,“/”)
我得到http:/www.test.com/web?testid=12全部使用单斜杠(/),但我需要http://www.test.com/web?testid=12

我只需要网站附近的第二个/,而不是www附近的第一个/


如何进行此操作?

您可以进行第二次更换

string test="http://www.test.com//web?testid=12";
string a=test.Replace("//","/").Replace("http:/","http://");

=)

您可以进行第二次替换

string test="http://www.test.com//web?testid=12";
string a=test.Replace("//","/").Replace("http:/","http://");
=)

或者,由于是a,您可以执行以下操作:

Uri uri = new Uri(test);
string newTest = uri.Scheme + @"//" + uri.Authority 
                                    + uri.PathAndQuery.Replace(@"//",@"/");
或者,由于是a,您可以执行以下操作:

Uri uri = new Uri(test);
string newTest = uri.Scheme + @"//" + uri.Authority 
                                    + uri.PathAndQuery.Replace(@"//",@"/");

您也可以使用stringbuilder

StringBuilder b=新的StringBuilder()


b、 替换(“/”、“/”、整数起始索引、整数计数)

您也可以使用stringbuilder

StringBuilder b=新的StringBuilder()


b、 替换(“/”、“/”、整数起始索引、整数计数)

只需使用
String.remove()删除最后一个斜杠中的一个即可。


只需使用
String.remove()删除最后一个斜杠中的一个即可:


我认为您还需要添加端口,以防它不是方案的默认端口。@mleroy,是的,但在这种情况下我会使用,而不是uri.Host,我认为您还需要添加端口,以防它不是方案的默认端口。@mleroy,是的,但在这种情况下我会使用,而不是uri.Host,URL字符串来自哪里?它是您生成的URL,还是来自外部源的字符串?URL字符串来自哪里?它是您生成的URL,还是来自外部源的字符串?
Regex.Replace(test, "[^:]//", "/");
string test="http://www.test.com//web?testid=12";
string output = test.Remove(test.LastIndexOf("//"), 1);
var http = "http://someurl//data";
var splitindex = http.IndexOf("/") + 1;
var res = http.Substring(splitindex+1, (http.Length-1) - splitindex).Replace("//","/");
http = "http://" + res;
StringBuilder strBlder = new StringBuilder();
strBlder.Append("http://someurl//data");
//use the previously used variable splitindex
strBlder.Replace("//", "/", splitindex + 1, (http.Length) - splitindex);