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
相关产品推荐
相关产品推荐

