明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 571|回复: 8

[提问] 【闭贴】lisp编译器中如何替换²上标问题

[复制链接]
发表于 2024-10-10 17:22:55 | 显示全部楼层 |阅读模式
本帖最后由 天各一方 于 2024-10-11 14:42 编辑

    我经常在CAD中标记文本信息,会用到大量文本公式,为了不二次输入信息,决定在CAD中进行计算汇总。

    现在出了点状况:文本中有1㎡+2㎡、2m³+3m³,涉及上标了。每次用find命令预处理后,再进行文本过滤和四则运算。
    需要在lisp里,直接把字母和上标删掉留下1+2,2+3的字样就可以了。
    问题:lisp编译器不支持输入上标,没办法删除。有什么办法删除上标吗?
    目前思路是把字母放到表里面,删除一定位数的表元素,从而删除上标。但是,感觉对新手不太友好,我不太会。有简单的办法吗?万能的明友啊,求助!
发表于 2024-10-10 17:33:50 | 显示全部楼层
用ascii函数逐个字符判断,除了位于48-57区间或等于42、43、45、47的字符外其余全部删掉,这样保留下来的就是纯数字和四则运算符
 楼主| 发表于 2024-10-10 17:57:33 | 显示全部楼层
ashan 发表于 2024-10-10 17:33
用ascii函数逐个字符判断,除了位于48-57区间或等于42、43、45、47的字符外其余全部删掉,这样保留下来的就 ...

有一个问题,上标数字也留下了。
发表于 2024-10-10 20:18:41 | 显示全部楼层
天各一方 发表于 2024-10-10 17:57
有一个问题,上标数字也留下了。

上标不就是格式而已吗?
 楼主| 发表于 2024-10-11 08:20:40 | 显示全部楼层
你有种再说一遍 发表于 2024-10-10 20:18
上标不就是格式而已吗?

我初学,并不会判断上标格式,有办法吗?
发表于 2024-10-11 09:16:07 | 显示全部楼层
天各一方 发表于 2024-10-10 17:57
有一个问题,上标数字也留下了。

可以提取2次,第一次以四则运算符为分隔符,逐个字符判断,等于42/43/45/47时结束,提取出第一个字符串,然后第2次仍然对第一次提取出的字符串逐个字符判断,如果是48-57区间的保留,出现第一个非48-57区间的字符时结束
 楼主| 发表于 2024-10-11 14:42:25 | 显示全部楼层
ashan 发表于 2024-10-11 09:16
可以提取2次,第一次以四则运算符为分隔符,逐个字符判断,等于42/43/45/47时结束,提取出第一个字符串, ...

好的,我试试,早上写了点,感觉多重循环判断,有点绕,我感觉我逻辑这块真不行。一点点熬吧。闭贴算了。
发表于 2024-10-13 16:45:53 | 显示全部楼层
因为你的上标,下标这些都是固定的字符串,那就遍历搜索查找这些字符串,只要找到就去除,最后剩下的就是你需要的内容了,最后再解析为计算式。
 楼主| 发表于 2024-10-14 08:15:54 | 显示全部楼层
e2002 发表于 2024-10-13 16:45
因为你的上标,下标这些都是固定的字符串,那就遍历搜索查找这些字符串,只要找到就去除,最后剩下的就是你 ...

嗯感谢回复,我进一步是想把各种上下标都去除,一个一个写估计要弄个表比较好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-22 18:59 , Processed in 0.155949 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表