在线提交需求

请留下您的联系方式,我们的专家将在 24 小时内与您沟通。

极奇策RPA技术教程:截取字符串 (NodeStrSlice) - 自动化开发与配置详细指南

极奇策技术团队更新于 2026-08-260 阅读

image.png

截取字符串

📖 节点概述

从字符串中截取指定范围的子字符串。支持起始索引和结束索引,索引可以是正数(从左向右)或负数(从右向左)。结束索引可选,留空时截取到字符串末尾。该节点为纯数据节点,无执行端口。

💡 使用场景

  • 提取文件扩展名:截取最后一个点号之后的部分(配合索引查找)。
  • 获取前 N 个字符:用于显示摘要或缩略标题。
  • 去除首尾字符:通过起始索引 1 和结束索引 -1 去掉首尾各一个字符。
  • 字符串解析:从固定格式的字符串中提取特定位置的字段。
  • 文本预处理:截取日志行中的时间戳部分。

🎮 实战连线指南:如何正确使用它?

节点有三个输入端口:文本起始结束,输出端口 结果。起始和结束索引遵循 Python 切片规则(包含起始,不包含结束)。

场景案例:提取文件扩展名

  1. 获取文件名:从【变量获取】节点读取 filename = "document.pdf"
  2. 连接节点:将 filename 连入【截取字符串】的 文本
  3. 设置起始索引:由于扩展名在最后一个点之后,可以先获取点号位置(假设为 9),起始填 9。更通用做法是先用【查找子串】定位点号位置。
  4. 结束索引留空:表示到末尾。
  5. 获取结果结果 输出 "pdf"

常见切片示例(字符串 "Hello"):

  • 起始 0,结束 3"Hel"
  • 起始 1,结束 4"ell"
  • 起始 -3,结束 -1"ll"(从倒数第 3 个到倒数第 1 个之前)
  • 起始 2,结束留空 → "llo"
  • 起始 -2,结束留空 → "lo"

⚙️ 引脚与参数说明

📥 输入引脚

引脚名称数据类型说明
文本STRING需要截取的原始字符串。可通过多行文本框填写或连线传入。
起始INT截取的起始索引(包含)。支持负数(从末尾倒数)。默认为 0。
结束INT截取的结束索引(不包含)。支持负数。留空或无效时表示直到字符串末尾。

⚙️ 控件参数

控件名称类型说明
文本多行文本框手动输入待截取的文本。当连线传入数据时,连线值优先。
起始单行文本框手动输入起始索引。默认0
结束单行文本框手动输入结束索引。默认0(但实际解析为空时代表末尾)。建议留空或使用 -1len 等。

📤 输出引脚

引脚名称数据类型说明
结果STRING截取后的子字符串。如果索引无效或范围为空,返回空字符串。

🔧 切片规则说明

  • 索引从 0 开始(第一个字符索引为 0)。
  • 负索引表示从末尾倒数:-1 是最后一个字符,-2 是倒数第二个,以此类推。
  • 截取范围包含起始索引,不包含结束索引(即 [start:end] 半开区间)。
  • 如果起始索引大于等于字符串长度,或结束索引小于等于起始索引,结果为空字符串。
  • 如果起始索引为负数且绝对值超过字符串长度,相当于从 0 开始。
  • 如果结束索引为负数且绝对值超过字符串长度,相当于到开头(可能产生空串)。

⚠️ 注意事项

  • 索引越界:节点内部使用 Python 切片,会自动处理越界(不会报错,返回有效部分或空字符串)。例如起始 100 时返回空串。
  • 结束索引留空:由于输入框必须有一个默认值 0,节点会特殊处理:如果结束索引为 0 且文本长度不为 0?实际上逻辑是:当结束值解析失败或为 None 时用字符串长度。但如果控件值是 0,会传入整数 0,导致截取 [start:0] 一般返回空串。因此建议用户如果不需要结束索引,不要填 0,而是清空输入框。或者更好的做法:默认控件值设为空字符串,让节点识别。但在当前实现中,结束默认值是 0,用户需要手动删除该默认值才能达到“到末尾”的效果。文档需提醒用户。
  • 性能:截取操作时间复杂度 O(k)(k 为截取长度),对大字符串高效。
  • 多行文本:换行符 \n 视为普通字符,索引包含换行符。

💎 小贴士

  • 需要获取字符串的前 10 个字符:起始 0,结束 10
  • 需要去掉第一个字符:起始 1,结束留空。
  • 需要去掉最后一个字符:起始 0,结束 -1
  • 需要提取倒数 3 个字符:起始 -3,结束留空。
  • 配合【字符串长度】节点,可以根据长度动态计算结束索引。
  • 如果经常需要按分隔符截取,【分割字符串】节点可能更合适。
助理
咨询
微信
微信客服扫码添加微信
社群
QQ群扫码加入Q群
电话
免费咨询热线0371-67993886
顶部