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


       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
  • 相关阅读:
    bootstrap图片上传功能
    Microsoft.EntityFrameworkCore.Sqlite的学习
    问题(待完成):微服务,失败回滚?保持事务的原子性?多步骤调用,如何来实现
    c# 重试机制
    .net core 问题:413 Request Entity Too Large nginx
    Validation
    Tag Helpers in forms in ASP.NET Core
    C/C++中如何获取数组的长度(宏&模板)
    斐波那契数列的实现
    PAT (Basic Level) Practise
  • 原文地址:https://www.cnblogs.com/ricksun/p/2658184.html
Copyright © 2020-2023  润新知