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

如何用T-SQL或C#获取字符串中所有子串(含空格)的位置与长度?

COBOL字符串子串解析与映射实现需求

输入字符串

忽略外层双引号,目标字符串为:

I101G2.2 OZ  001 0002200 L       Y        0010000                     

核心需求

需要提取该字符串中每个子串的起始位置和长度,规则如下:

  • 连续非空格字符组成一个子串
  • 每个空格字符(" ")需视为长度为1的独立子串

输出格式示例

输出需遵循以下CSV风格格式:

**Sub-String Value**,**Starting Position**, **Length**
I101G2.2,0,8
{space},9,1
OZ,10,2
{space},12,1
{space},13,1
001,14,3
{space},17,1
0002200,18,7
{space},25,1
L,26,1
{space},27,1
{space},28,1
{space},29,1
{space},30,1
{space},31,1
{space},32,1
{space},33,1
{space},34,1
Y,35,1
{space},36,1
{space},37,1
{space},38,1
{space},39,1
{space},40,1
{space},41,1
{space},42,1
{space},43,1
0010000,44,7

(后续剩余子串按相同规则输出)

业务背景

生产系统基于COBOL编写,需生成上述格式的输出字符串。同时存在一张映射表,记录了「起始位置+长度」与业务表列名的对应关系(例如:起始位置18、长度7的子串0002200对应「商品类别」列),需通过提取的子串位置和长度匹配映射表,确定其对应的业务列。

请提供COBOL下的实现方法。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:05:33