我有一个看起来像这样的字符串
/root/test/test2/tesstset-werew-1
我想在最后/
之后解析这个词。所以在这个例子中,我想抓住单词tesstset-werew-1
。 在C#中执行此操作的最佳方法是什么?我应该将字符串拆分为数组还是内置函数?
答案 0 :(得分:3)
string mystring = "/root/test/test2/tesstset-werew-1";
var mysplitstring = mystring.split("/");
string lastword = mysplitstring[mysplitstring.length - 1];
答案 1 :(得分:3)
如果这是一个路径,在您的示例中似乎就是这种情况,您可以使用Path.GetFileName()
:
string fileName = Path.GetFileName("/root/test/test2/tesstset-werew-1");
答案 2 :(得分:1)
分裂成数组可能是最简单的方法。另一个是regex
这样的事情会起作用:
string[] segments = yourString.Split('/');
try
{
lastSegment = segments[segments.length - 1];
}
catch (IndexOutOfRangeException)
{
Console.WriteLine("Your original string does not have slashes");
}
您可能需要在第二个语句之前检查segments []是否包含元素。
答案 3 :(得分:1)
yourString.Substring(yourString.LastIndexOf('/') + 1);
答案 4 :(得分:0)
您可以以相反的顺序运行for循环,直到/
符号。