如何将COM端口读取的ASCII字符串拆分至独立变量?
拆分COM端口读取的CSV格式字符串到独立变量
核心思路
你拿到的是逗号分隔(CSV)格式的字符串,直接按逗号拆分后即可赋值给对应变量,还可根据需求做类型转换。
实现示例
Python 版本
# 假设从COM端口读取并解码后的字符串 com_str = "1,40.20,23.50,NOW()" # 按逗号拆分字符串 split_parts = com_str.split(',') # 赋值到独立变量,按需做类型转换 a = int(split_parts[0]) b = float(split_parts[1]) c = float(split_parts[2]) d = split_parts[3] # 验证结果 print(f"a = {a}") print(f"b = {b}") print(f"c = {c}") print(f"d = {d}")
C# 版本
// 假设从COM端口读取并解码后的字符串 string comStr = "1,40.20,23.50,NOW()"; // 按逗号拆分字符串 string[] splitParts = comStr.Split(','); // 赋值到独立变量,按需做类型转换 int a = int.Parse(splitParts[0]); double b = double.Parse(splitParts[1]); double c = double.Parse(splitParts[2]); string d = splitParts[3]; // 验证结果 Console.WriteLine($"a = {a}"); Console.WriteLine($"b = {b}"); Console.WriteLine($"c = {c}"); Console.WriteLine($"d = {d}");
注意事项
- 如果COM端口返回的字符串可能存在格式异常(比如逗号数量不对、数值格式错误),建议添加异常处理逻辑,避免程序崩溃。
- 若
NOW()是动态生成的时间字符串,无需额外转换,直接保留字符串格式即可。
内容的提问来源于stack exchange,提问作者Justin Barkby
相关产品推荐
相关产品推荐

