我有字符串:"http://schemas.xmlsoap.org/ws/2004/09/transfer/Get"
。我想从最后一个斜线修剪一切,所以我只留在"Get"
。
答案 0 :(得分:9)
var s = "http://schemas.xmlsoap.org/ws/2004/09/transfer/Get";
s = s.Substring(s.LastIndexOf("/") + 1);
答案 1 :(得分:8)
您可以使用LastIndexOf方法获取字符串中最后一个/的位置,并将其传递给Substring方法,作为要剪掉字符串的字符数。这应该让你最后得到Get。
[TestMethod]
public void ShouldResultInGet()
{
string url = "http://schemas.xmlsoap.org/ws/2004/09/transfer/Get";
int indexOfLastSlash = url.LastIndexOf( '/' ) + 1; //don't want to include the last /
Assert.AreEqual( "Get", url.Substring( indexOfLastSlash ) );
}
答案 2 :(得分:3)
使用String.LastIndexOf获取最后的正斜杠
答案 3 :(得分:1)
如果您使用格式良好的/ Get / Put / Delete等
,则使用URI替代方法var uri = new System.Uri("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get");
string top = Path.GetFileName(uri.LocalPath);
答案 4 :(得分:1)
尝试
int indexOfLastSlash = url.LastIndexOf( '/' ) + 1;
string s = url.Remove(0, indexOfLastSlash);
Assert.AreEqual( "Get", s );
这删除了之前的所有数据。包括最后一个'/'。
在这里工作正常。