繁体   English   中英

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

[英]How can I remove some characters from a C# string?

我有字符串:

http://127.0.0.1:96/Cambia3

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

有没有一种简单的方法可以删除此数字以获取:

http://127.0.0.1/Cambia3

转换为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);

字符串是不可变的-您无法更改它们-但您可以从旧的字符串中创建新的字符串。

在您的情况下,请勿使用字符串操作-更改Urls时应使用Uri和UriBuilder类。

样品:

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

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

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

str.Remove(index1, index2 - index1);

嘿,您可以在这些线路上尝试一下

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

为了简单地删除它,将始终使用以下命令:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM