1

我已经编程一年了,我做过string很多次操作,但从来不明白它是如何工作的,或者最好的方法是什么。

假设我有这个字符串

String abc = "https://uu2020.devuueva.com/portal/mesddsa/usforeer/nance/tings/M3C102d4104/1007/tingjack/default.aspx";

我只想这部分

"https://uu2020.devuueva.com/portal/mesddsa/usforeer/nance/tings/M3C102d4104"

字符/名称可以更改并且是动态的,但是“/”不是。有人可以演示最简单和最好的方法吗?

4

2 回答 2

5

这里要记住的一件事是,如果您正在处理 Uri,那么最好使用Uri该类来提取信息片段,而不是尝试将解决方案串在一起。

http://msdn.microsoft.com/en-us/library/system.uri.aspx

例如:

var part = String.Format("{0}://{1}{2}",uri.Scheme,uri.Authority, String.Join("",uri.Segments.Take(7)));

获取您想要的部分。现场示例:http ://rextester.com/JRWKOG58567


编辑

在发现了更多需求和框架限制之后,您可能会更好地进行字符串混搭,但您仍然可以利用Uri该类中的一些功能。

var input = "https://uu2020.devuueva.com/portal/mesddsa/usforeer/nance/tings/M3C102d4104/1007/tingjack/default.aspx";
var uri = new Uri(input);
StringBuilder sb = new StringBuilder();
sb.AppendFormat("{0}://{1}/",uri.Scheme,uri.Authority);

var parts = uri.PathAndQuery.Split(new char[]{'/'},StringSplitOptions.RemoveEmptyEntries);
for(var i=0;i<6;i++){
    sb.AppendFormat("/{0}",parts[i])   ;
}
Console.WriteLine(sb.ToString());

现场示例:http ://rextester.com/HBK80648

于 2012-07-31T08:43:14.013 回答
2
 var t="https://uu2020.devuueva.com/portal/mesddsa/usforeer/nance/tings/M3C102d4104/1007/tingjack/default.aspx";
     string[] g= t.Split('/');
     var h=String.Join("/", g.Where((i,n)=>n<9).ToArray());
    Console.write( h);

结果 :https://uu2020.devuueva.com/portal/mesddsa/usforeer/nance/tings/M3C102d4104

于 2012-07-31T08:45:58.790 回答