我有一个由prefixtype组成的名称和名称,我想检索name部分。

Prefix始终保持不变,但Type可以更改。

我有以下代码来获取名称部分:

            string prefix = "Prefix-";
            string str =prefix + "Type-hello-j---.xml";
            str = Path.GetFileNameWithoutExtension(str);
            str = str.Substring(prefix.Length);
            str = str.Substring(str.IndexOf('-') + 1);


在上面的示例中,名称部分为:hello-j---
在C#中,有什么有效/更好的方法可以做到这一点?

最佳答案

您可以使用overload of string.Split() that lets you specify the number of parts

string fileName = "Prefix-Type-hello-j---.xml";
string withoutExtension = Path.GetFileNameWithoutExtension(str);
var parts = str.Split(new[]{'-'}, 3);
string name = parts[2];

10-02 01:27
查看更多