这几天遇到一个要把一个字符串的网址前缀截取掉的方法,仔细想了一下总结一下两种方法
1.方法一: 通过IndexOf 和Substring来截取
string aa = "http://192.sdasd95/UploadFiles/UploadFiles/Pic29/1/20210413185051331.jpg";
int index = aa.IndexOf("/U");
string sstre = aa.Substring(index+1,aa.Length-index-1);
会输出:UploadFiles/UploadFiles/Pic29/1/20210413185051331.jpg
2.方法2 :通过正则来截取
string input = "http://192.168.1.195/UploadFiles/UploadFiles/Pic29/1/20210413185051331.jpg";
string pattern = "([U]+)(:d*)?([^#]*)(:d*)?";
foreach (Match match in Regex.Matches(input, pattern))
Console.WriteLine(match.Value);
输出:UploadFiles/UploadFiles/Pic29/1/20210413185051331.jpg
这两种都会把前缀给去掉,虽然只是一个简单的截取字符串,但是有时候确是 一个项目的大 bug ,这两种方法供大家观看,谢谢大家.