我有一个由prefix
和type
组成的名称和名称,我想检索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];