You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何逐层获取反斜杠分隔字符串每一级对应的左侧所有字符

解决路径逐层拼接问题

你之前只取Split("\\"c)(0)只能拿到第一个分段,想要得到所有层级的前缀路径,核心思路是先分割所有分段,再逐次拼接前N个分段即可。

对应你使用的VB.NET语法示例:

' 你的原始路径
Dim fullPath As String = "folder1\folder2\folder3\folder4"
' 先按反斜杠分割为所有层级分段的数组
Dim pathSegments As String() = fullPath.Split("\"c)
' 用来存储所有层级结果的列表
Dim resultList As New List(Of String)()

' 从1个分段开始拼接,直到所有分段都用上
For i As Integer = 1 To pathSegments.Length
    Dim currentLevelPath = String.Join("\", pathSegments.Take(i))
    resultList.Add(currentLevelPath)
Next

最终resultList里的内容就是你需要的结果:

folder1
folder1\folder2
folder1\folder2\folder3
folder1\folder2\folder3\folder4

注:你示例里的第一个结果是folder,如果不是笔误需要调整首段内容,直接修改第一个拼接后的结果即可。

其他常见语言实现参考

C#版本

string fullPath = @"folder1\folder2\folder3\folder4";
string[] segments = fullPath.Split('\\');
List<string> result = new List<string>();
for (int i = 1; i <= segments.Length; i++)
{
    result.Add(string.Join("\\", segments.Take(i)));
}

Python版本

full_path = r"folder1\folder2\folder3\folder4"
segments = full_path.split("\\")
result = ["\\".join(segments[:i]) for i in range(1, len(segments) + 1)]

边界情况处理

如果你的原始路径可能存在首尾多余的反斜杠,先做一次trim处理再分割即可:
Dim pathSegments As String() = fullPath.Trim("\"c).Split("\"c)

内容的提问来源于stack exchange,提问作者amaru96

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:33:01