如何从C#字符串中删除一些字符?

时间:2011-11-03 06:11:23

标签: c#

我有字符串:

http://127.0.0.1:96/Cambia3

数字96可以是75到125之间的任何东西。

有没有一种简单的方法可以删除这个号码来获取:

http://127.0.0.1/Cambia3

5 个答案:

答案 0 :(得分:5)

转换为URI,然后提取您感兴趣的信息

var ip= new Uri("http://127.0.0.1:96/Cambia3");
var withoutPort = string.Format("{0}://{1}/{2}", ip.Scheme, ip.Host, ip.PathAndQuery);

答案 1 :(得分:1)

字符串是不可变的 - 你不能改变它们 - 但是你可以用旧的字符串创建新字符串。

在你的情况下不要使用字符串操作 - 更改Url时应该使用Uri和UriBuilder类。

样品:

var builder=new UriBuilder("http://127.0.0.1:96/Cambia3");
builder.Port = 80;
Console.WriteLine(builder.Uri.AbsoluteUri);

答案 2 :(得分:1)

您可以使用类似下面的代码

string str = "http://127.0.0.1:96/Cambia3";
int index1 = str.IndexOf(':', 7);
int index2 = str.IndexOf('/', 7);

str.Remove(index1, index2 - index1);

答案 3 :(得分:0)

嘿,你可以尝试这些方面的东西

UriBuilder uri = new UriBuilder("http://127.0.0.1:96/Cambia3");
uri.Port =-1;            
string portlessurl = uri.Uri.AbsoluteUri; // Output -- http://127.0.0.1/Cambia3

答案 4 :(得分:0)

简单地删除它总是使用它:

string ip = "http://127.0.0.1:96/Cambia3";
ip = ip.Replace(":96", string.Empty);

如果以后需要,您可以随时重复使用它来替换端口。