我有2个文件路径:
绝对:
/Content/assets2/otherfolder/another/this/
Run Code Online (Sandbox Code Playgroud)
相对的:
../../../../assets/img/logo.gif
Run Code Online (Sandbox Code Playgroud)
当我做Path.Combine(绝对,相对)我得到:
/Content/assets2/otherfolder/another/this/../../../../assets/img/logo.gif
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,但我想得到的:
/Content/assets/img/logo.gif
Run Code Online (Sandbox Code Playgroud)
我需要一个正则表达式或代码,用相应的文件夹删除"../":
/Content/assets2/otherfolder/another/this/../../../../assets/img/logo.gif
/Content/assets2/otherfolder/another/../../../assets/img/logo.gif
/Content/assets2/otherfolder/../../assets/img/logo.gif
/Content/assets2/../assets/img/logo.gif
Run Code Online (Sandbox Code Playgroud)
最后进入:
/Content/assets/img/logo.gif
Run Code Online (Sandbox Code Playgroud)
你不需要正则表达式.实际上,我认为在Regex中以可靠的方式定义是不可能的.而是使用Path.GetFullPath:
string combined = Path.Combine(path1, path2);
string prettyPath = Path.GetFullPath(combined);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
145 次 |
| 最近记录: |