ASP.NET 截取文件路径的指定信息,高效的解决方案

问题遇到的现象和发生背景

我要从文件路径中截取一段指定的路径

问题相关代码,请勿粘贴截图

img

运行结果及报错内容

我需要截取到UI后面的这段路径,提供高效的解决方案

img

我的解答思路和尝试过的方法

通过sbstring进行截取,但是效果不是很理想,要是部署在其他的电脑路径地址又不一样了,字符串数量也不一样。

我想要达到的结果

我要从文件路径中截取一段指定的路径

UI是固定的吗?

2022年,我们也可以这么写

var path = @"D:\\aaa\bbbu\ccc\UI\Demo\111.xlsx".AsSpan();

var sss = get(path);
Console.ReadKey();

//定位查找和截取一次完成,因为是ReadOnlySpan中间过程不分配字符内存,只在最后tostring过程才会分配一下,当然这是demo,我自己写返回都不写string了,返回都返回readonlyspan,这样只有最后使用才重新分配,免得提前分配了你有一时半会不用,所以我们也可以知道为啥在2022的官方库里有那么多readonlyxxx,
ValueTask,ValueType,ValueTuple这些玩意了,当并行代码变简单后,如果不控制这些玩意,并行代码的滥用很容易引发各种内存问题
 string get(ReadOnlySpan<char> str) => str switch
{
    var s when s.Length==0=>string.Empty,
    var s=> s.StartsWith(@"\ui\", StringComparison.CurrentCultureIgnoreCase) ? s.ToString() : get(s.Slice(1))
    
};