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

PowerShell如何将分隔符字符串列表转换为缩进树形结构

点分隔路径转缩进树形结构的实现方案

核心思路非常简单,不需要手动计算字符位置截取字符串,直接按分隔符拆分层级即可:

  1. 逐行将字符串按.分割为层级数组
  2. 缩进量由数组长度决定:单级缩进长度 *(数组长度 - 1)
  3. 每行仅保留数组的最后一个元素作为当前节点名称,拼接缩进后输出即可

Python 示例代码

# 输入示例
raw_list = [
    "data-pool",
    "data-pool.house 1",
    "data-pool.house 1.door2",
    "data-pool.house 1.door3",
    "data-pool.house2",
    "data-pool.house2.door 1"
]

INDENT_PER_LEVEL = 2  # 可自定义单级缩进空格数
for path_str in raw_list:
    level_parts = path_str.split('.')
    current_indent = ' ' * INDENT_PER_LEVEL * (len(level_parts) - 1)
    print(f"{current_indent}{level_parts[-1]}")

JavaScript 示例代码

const rawList = [
    "data-pool",
    "data-pool.house 1",
    "data-pool.house 1.door2",
    "data-pool.house 1.door3",
    "data-pool.house2",
    "data-pool.house2.door 1"
]
const indentPerLevel = 2
rawList.forEach(pathStr => {
    const levelParts = pathStr.split('.')
    const currentIndent = ' '.repeat(indentPerLevel * (levelParts.length - 1))
    console.log(`${currentIndent}${levelParts.at(-1)}`)
})

以上方案适配任意深度的层级结构,逻辑简洁不易出错,和原有实现性能基本一致,但代码可读性和可维护性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:24:05