c# - 从文件路径中删除 'head' 目录

标签 c# .net vb.net string

在 .NET(VB 或 C#)中,有谁知道从文件路径字符串中删除“head”目录的简单方法,这意味着如果我的路径看起来像这样:Directory1/Directory2/Directory3我想取回 Directory2/Directory3。我知道有一些方法可以做到这一点,比如将它拆分成一个数组,然后从第二个元素开始将它全部连接起来,我只是觉得,这是一种非常低效的方法,我想知道是否有一种更好的方法。

最佳答案

这取决于您要查找的内容。如果你知道事情的形式是 dir1/dir2/dir3/dir4...,那么你可以只查找第一个 / 并获取之后的所有内容:

string dir = "dir1/dir2/dir3";
var pos = dir.IndexOf('/');
if (pos != -1)
{
    result = dir.Substring(pos+1);
}

如果您还可以接受格式为 c:\dir\dir\file.ext\\server\dir\dir\file.ext 的完整路径名,那么您可能需要确保首先将任何相对路径转换为完整路径。然后使用 System.IO.Path 类中的方法提取驱动器或服务器名称,然后再使用类似上面的 IndexOf 技巧。

关于c# - 从文件路径中删除 'head' 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839699/

相关文章:

C# 导出到 DWG

c# - 数据网格中的 WPF 数据绑定(bind)组合框

c# - 从请求对象/表单集合获取数据时,对象引用未设置为对象的实例

mysql - 从我的数据库中检索数据时出现奇怪的问题

vb.net - VB.NET 中的 Me.Invoke 实际上并不是 "Invoke"- 线程在 Invoke 语句上停滞

c# - 使用我的 IOC 容器的配置文件绑定(bind)覆盖代码内绑定(bind)

asp.net - 文字控制模式之间的差异

.net - SQLServerManager13.msc 不存在于 C :\Windows\SysWOW64. 中,即我的 SQL Server 配置管理器在哪里?

.net - UWP 应用程序和控制台应用程序之间的双向通信

php - VB 的 "AndAlso"在 PHP 中的等价物是什么?