从字符串中删除某些单词

时间:2013-12-11 03:16:07

标签: c#

你好我正在使用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:\

3 个答案:

答案 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\", "");
        }
    }
}