如何替换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);