如何在C#字符串中拆分字符的最后一个实例?

时间:2011-11-16 03:59:52

标签: c# arrays string

我有一个看起来像这样的字符串

/root/test/test2/tesstset-werew-1

我想在最后/之后解析这个词。所以在这个例子中,我想抓住单词tesstset-werew-1在C#中执行此操作的最佳方法是什么?我应该将字符串拆分为数组还是内置函数?

5 个答案:

答案 0 :(得分:3)

The Split() method

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循环,直到/符号。