• 根据一个绝对路径获取相对路径的方法


       1:  static void Main(string[] args)
       2:  {
       3:      string a = @"c:\a\b\c\d";
       4:      string b = @"c:\a\b\e\f\1.txt";
       5:      int n = 0;
       6:      Console.WriteLine(GetRelativePaths(b, a));
       7:      Console.ReadKey();
       8:  }
       9:   
      10:  public static string GetRelativePaths(string path, string current)
      11:  {
      12:      string a = current.ToLower();
      13:      string b = path.ToLower();
      14:      int i = 0;
      15:      for (; i < Math.Min(a.Length,b.Length); i++)
      16:      {
      17:          if (a[i] != b[i]) break;
      18:      }
      19:      string cur = Regex.Replace(a.Substring(i - 1), @"\\?[a-zA-Z]+:?", @"..\");
      20:      return (cur + path.Substring(i + 1)).Replace(@"\\", @"\");
      21:  }

    输出:

    ..\..\f\1.txt
  • 相关阅读:
    udev 禁止某些驱动自动加载
    AT91SAM9XEK ramdisk 启动笔记
    MTD 工具使用
    kmp问题
    野指针 空指针 通用指针
    manacher算法实现
    manacher算法
    strcpy和strlen
    冒泡排序
    C++的重载(overload)与重写(override
  • 原文地址:https://www.cnblogs.com/ricksun/p/2658184.html
Copyright © 2020-2023  润新知