字符串分割
使用说明
字符串分割功能用于将一个字符串字段的内容,按照指定的规则拆分为多个部分,并将结果存储为列表。该功能支持基于分隔符和固定长度两种分割模式,是处理结构化文本数据(如CSV、日志、编码字段)的关键工具。
本功能适用于以下典型场景:
- 解析结构化文本:将逗号分隔值(CSV)或制表符分隔的数据拆分为独立的属性项。例如,将“姓名,年龄,城市”拆分为list{0}= [姓名],list{1}=[ 年龄],list{2}= [城市]。
- 提取固定格式编码:根据已知长度规则分解编码信息。例如,将18位身份证号按 6,8,3,1 的规则分割为地址码、出生日期码、顺序码和校验码。
- 处理带限定符的复杂文本:在分割时忽略被引号等限定符包围的分隔符,确保如“ '北京,海淀区',10086 ”这样的数据能被正确识别为两部分,而不是三部分。
SuperMap TransformX 2026 版本开始提供。
输入数据
| 参数名 | 参数释义 | 参数类型 |
|---|---|---|
| 输入 | 输入待处理的矢量数据,可以由数据读入转换器的输出或数据处理转换器的输出来指定。 | IFeatureCollection |
参数说明
| 参数名 | 参数释义 | 参数类型 |
|---|---|---|
| 输入字符串 |
指定待分割的字符串。可通过下拉列表选择字段。
|
String |
| 分割方式 |
设置字符串的拆分规则。
|
SplitType |
| 分割符 |
当分割方式为字符分割时,此参数可用。 指定用于识别分割点的字符。可从预置选项(逗号、分号、竖线、空格、制表符)中选择,或手动输入自定义分隔符。 |
String |
| 限定符 |
选填。当分割方式为字符分割时,此参数可用。 指定一个字符(如逗号)作为限定符。限定符成对出现时,其内部的分隔符被视为普通字符;若未成对,则其后所有分隔符将对字符串进行拆分操作。 |
String |
| 分割长度 |
当分割方式为长度分割时,此参数可用。 指定一个由“数字+s”组成的序列,定义每个分割片段的长度。例如,输入“6s8s3s1s”表示依次截取6、8、3、1个字符。 |
String |
| 清除空格 |
指定对分割后的每一项进行空格清理的方式。提供以下方式:
|
ClearSpacesMode |
| 列表名称 | 指定用于存储分割结果的列表属性名称。默认为 _list。分割结果将按顺序存入该列表。 | String |
| 保留空列表 | 指定当分割结果为空(如输入字符串为空)时,是否仍然输出一个空的列表。默认值为否,即不保留空列表。 | SelectedType |
输出结果
| 参数名 | 参数释义 | 参数类型 |
|---|---|---|
| 输出 | 执行分割后,在对象属性面板中新增一个列表。该列表包含所有分割后的子字符串,索引从 list{0} 开始。 | IFeatureCollection |
| 无效数据 | 当前转换器无法处理的记录。 | IFeatureCollection |
相关主题