在我们的项目中有两种坐标。 带x,y和z的法线
例如:
101, 520, 62
960.93 764.22 59.20
和6位扩展版本(2x xyz用于位置和旋转) 例如:
101 520 62 3 0 0
960.93 764.22 59.20 -0.34 0.00 -89.81
它们可以是负数,可以是浮点数,也可以是四舍五入数。 它们可以用逗号分隔,也可以不用逗号分隔
使用python,我试图找到字符串中的任何坐标
例如:
textbefore 101, 520, 62
GOTO 960.93 796.22 59.20 -0.34 0.00 -89.81
$5GOTO 1960.93 1796.22 159.20 -0.34 0.00 -89.81
501, 513, 162
1040, 1040, 520 text after
error
222, 222
1500, 1500, 60 (1)
1337 1337 65
124.5, 133.6, 35.4
15:13:26 Condition: index_ != StringList::npos [line 178](125, 157, 215)
Allocating shadow map cache 6324 x 6324: 76.28 MB
在理想情况下,输出应为:
101 520 62
960.93 796.22 59.20 -0.34 0.00 -89.81
1960.93 1796.22 159.20 -0.34 0.00 -89.81
501 513 162
1040 1040 520
1500 1500 60
1337 1337 65
124.5 133.6 35.4
125 157 215
最后一行是“分配阴影贴图”,这有点棘手,如果失败并被列为坐标,那就好了
我在这里使用了这段代码,它对数字进行了很好的过滤,然后我检查了6或3个数字,但是我在有更多数字的行中遇到了问题。 所以我需要一个逻辑来检查是否有数字彼此“接近”,或者甚至是用文字分开
re.findall("[-+]?[.]?[\d]+(?:,\d\d\d)*[\.]?\d*(?:[eE][-+]?\d+)?", line)
如果可能的话,代码应该可以在Python2.7上运行(遗憾的是,我们远远落后)
谢谢
将为您提供以下输出:
您可以使用下面的正则表达式进行此操作
这将搜索以
,
或space
分隔的2/5个连续数字,以及具有非数字值的第3/6个数字Here是一个演示
输出
在深入研究代码之前,您需要在psuedocode中找到一种算法或方法,它可以满足您的要求。 在本例中,您需要创建python代码来标识一个数字:
然后我会在空格或逗号上拆分,并通过创建的数组进行解析,查找一行中的3或6个Trues
相关问题 更多 >
编程相关推荐