你好我正在使用GetDirectory获取我的程序目录。有没有办法拆分以下? AGM \ Program \ Python1 \ bin \ Debugs \已修复。
C:\User\zhenhui\Desktop\AGM\Program\Python1\bin\Debug\
我想要C:\ User \ zhenhui \ Desktop \
C:\Users\zhenhui\Downloads\AGM\Program\Python1\bin\Debug\
我想要C:\ Users \ zhenhui \ Downloads \
C:\AGM\Program\Python1\bin\Debug\
我想要C:\
D:\AGM\Program\Python1\bin\Debug\
我想要D:\
E:\AGM\Program\Python1\bin\Debug\
我想要E:\
答案 0 :(得分:3)
directory.substring(0, directory.indexOf("AGM\\Program\\Python1\\bin\\Debugs\"))
答案 1 :(得分:0)
string directory = "C:\Users\zhenhui\Downloads\AGM\Program\Python1\bin\Debug\; //your path
int index = directory.indexOf("AGM");
string outString = directory.Substring(0, index);
答案 2 :(得分:0)
正如我在评论中提到的,因为您尝试删除路径的固定部分,因此可以使用String.Replace
方法。这是一个简单的控制台程序来演示,我创建了一个返回修剪值的方法,如果它在非控制台应用程序中使用,则需要删除静态操作符。
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(getProgramRootDirectory(@"C:\User\zhenhui\Desktop\AGM\Program\Python1\bin\Debug\"));
Console.WriteLine(getProgramRootDirectory(@"C:\Users\zhenhui\Downloads\AGM\Program\Python1\bin\Debug\"));
Console.WriteLine(getProgramRootDirectory(@"C:\AGM\Program\Python1\bin\Debug\"));
Console.WriteLine(getProgramRootDirectory(@"D:\AGM\Program\Python1\bin\Debug\"));
Console.WriteLine(getProgramRootDirectory(@"E:\AGM\Program\Python1\bin\Debug\"));
Console.ReadLine();
}
static private string getProgramRootDirectory(string path)
{
return path.Replace(@"AGM\Program\Python1\bin\Debug\", "");
}
}
}