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

Delphi 如何将无分隔符字符串拆分存入StringList或数组

无分隔符字符串拆分实现方案

核心逻辑:所有编程语言的字符串本身是字符序列,不需要依赖分隔符拆分方法,直接遍历每一位字符即可完成拆分,可直接存入数组、列表或者按要求格式化输出。


基础功能:拆分字符串为空格分隔格式

输入样例:
THISISTESTRINGWITHOUTANYDELIMITERORCOMMAORSPACE
输出样例:
T H I S I S T E S T R I N G W I T H O U T A N Y D E L I M I T E R O R C O M M A O R S P A C E

常用代码示例

  • Python实现
input_str = "THISISTESTRINGWITHOUTANYDELIMITERORCOMMAORSPACE"
# 直接用空格拼接所有字符即可
res = " ".join(input_str)
print(res)
  • C#实现
string input = "THISISTESTRINGWITHOUTANYDELIMITERORCOMMAORSPACE";
string res = string.Join(" ", input.ToCharArray());
Console.WriteLine(res);

CNC业务场景适配:拆分后逐行输出单个字符

输入样例(CNC输出的带引号字符串):
"D4MAH96708F41H52X90"
输出样例(逐行单个字符):

D
4
M
A
H
9
6
...

可打包为EXE的代码示例

你可以选择任意熟悉的语言开发,以下提供两种常用实现:

C#实现

using System;
using System.Collections.Generic;
using System.IO;

class CNCSplitTool
{
    static void Main()
    {
        // 读取CNC输出的TXT文件,Trim去掉首尾多余引号和空白
        string rawContent = File.ReadAllText(@"C:\你的CNC文件路径.txt").Trim().Trim('"');
        List<string> charList = new List<string>(); // 存入StringList/列表
        StreamWriter sw = new StreamWriter(@"C:\拆分后输出文件路径.txt");
        
        foreach (char c in rawContent)
        {
            charList.Add(c.ToString());
            sw.WriteLine(c); // 逐行写入文件
            // 此处可添加RS232串口发送逻辑,直接发送单个字符到解码程序
        }
        sw.Close();
    }
}

Python实现(可通过pyinstaller打包为EXE)

# 读取原始CNC文件
with open("CNC输出文件.txt", "r", encoding="utf-8") as f:
    raw_str = f.read().strip().strip('"')

char_list = [] # 存入数组/列表
# 写入拆分结果
with open("拆分结果.txt", "w", encoding="utf-8") as f:
    for char in raw_str:
        char_list.append(char)
        f.write(f"{char}\n")
        # 此处添加串口发送逻辑即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:06:03