如何从c#字符串中删除一些字符?
本文关键字:字符 删除 字符串 | 更新日期: 2023-09-27 18:13:29
我有一个字符串:
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);
字符串是不可变的——你不能改变它们——但是你可以从旧字符串的片段中创建新的。
在你的情况下,不要使用字符串操作-在更改url时应该使用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);
如果以后需要,您可以重用它来替换端口。