pBe 发表于 2022-7-6 08:18:04

 
嗯,不是真的Eldon
 
请注意,示例中没有空格:
5001100926.946000096.8278000221.264000NL
 
你怎么能确定第一个“,”在26.946之前
50011009,26.9460000,96.8278000221.264000,荷兰
 
是什么阻止你把第一个逗号放在9之前?
 
是的,OP确实显示了一个输出,现在我们可以说逗号在2之前,我们现在可以确定,因为显示了输出。但这将假设Y坐标总是在小数之前2个数字。而且IMO不是很好的编程
 
是的,我可以用exag来证明一点

MSasu 发表于 2022-7-6 08:21:38

如果@eldon正确,请尝试:
(setq stringTemp "5001100926.946000096.8278000221.264000NL")
(setq stringNew (strcat (substr stringTemp1   ","
                     (substr stringTemp9 10) ","
                     (substr stringTemp 19 10) ","
                     (substr stringTemp 29 10) ","
                     (substr stringTemp 39)))
但同样,这只有在数据结构不变的情况下才有效!

pBe 发表于 2022-7-6 08:23:34

 
这正是我所要说的。
 
 
举个例子。
输出
1003,6.2210000,96.1930000267.875600,ND
 
为什么不呢?
100,36.22100009,6.193000026,7.875600,ND
 
关键是,你怎么知道值的开始和结束?
 
100926.946000096.8278000221.264000NL
10036.22100096.1930000267.875600ND

teknomatika 发表于 2022-7-6 08:26:07

 
米尔恰,
我理解。事实上,在某些行中可能有一个大/小小数位数。考虑以下序列,即第一行,它验证定位点是否可以向右移动,这取决于每个坐标的单位(单位、十、百)。在这些情况下,通过消除同一坐标中的小数位来抵消字符的差异。
 
在这些情况下,除了能够定义逗号分隔符的常规位置外,我还必须小心处理这些行,最终将它们分开处理。我看不到其他解决问题的方法。
 
09F15004128012.1640000103.357600113.245600OD
09F1500412818.6970000100.978600142.721400RD
09F1500412824.8090000001.967000112.053400RD
09F1500412834.72000000101.520800112.992800RD
09F1500412843.9470000102.08440067.2318000RD
09F1500412851.6780000103.435000351.147600RD
09F1500412861.76000000103.541200226.526200RD
09F1500412878.8120000100.714400187.285600RD

MSasu 发表于 2022-7-6 08:31:52

而日常生活又怎么知道跳过这样的台词呢?!?
 
在这种情况下,真正让我困惑的是,您的设备导出的数据打算稍后以电子格式使用;其他将其作为文件的目的是什么?因此,我认为您可能错过了上述机器的设置。你仔细看过他的手册了吗?

pBe 发表于 2022-7-6 08:33:52

 
从正确填充源数据开始

teknomatika 发表于 2022-7-6 08:37:00

 
每行的结构如下:见附图:

teknomatika 发表于 2022-7-6 08:40:07

 
米尔恰,
事实是,我们现在没有读取程序数据,只能访问来自紧凑闪存卡的源文件。然后我需要处理它们,然后通过autocad导入,也需要使用autolisp例程。
不是这个问题,设备允许导出用逗号分隔的文件。
虽然没有软件,但我必须解决一些使用此功能的工作。

MSasu 发表于 2022-7-6 08:42:39

如果您绝对确定数据位于等宽列上,那么请尝试调整我给您的示例。但是,请不要忘记在处理后对每个结果进行双重检查。

teknomatika 发表于 2022-7-6 08:46:35

 
米尔恰,
是的,样本结果。
不幸的是,我没有足够的知识将此代码集成到例程中,以便从读取文件的过程中逐行执行。因此我请求帮助。
页: 1 [2]
查看完整版本: 插入coor的分隔线