Tharwat 发表于 2022-7-6 07:42:06

如果将字符串的值赋给变量,则应将其作为变量而不是字符串馈送给PeelStrings函数,此外,变量应是一个保存数字的字符串,以使函数仅获取数字值。
 

(setq Bound "Boundary 123")
(peelstrings bound)
 
它应该返回“123”
 
但是如果你只想得到数字,你可以在这篇文章中使用我的其他函数

pBe 发表于 2022-7-6 07:47:09

这是否意味着“绑定”层上的文本实体?
 
此外,这里真正重要的是,Ahmeds计划如何处理提取的值。上面发布的代码段(您完全忽略了)将在某些条件下工作,在这种情况下,目标是一个特定的分隔符“,”
 
现在,如果您需要结果作为数值。解析包含“,”分隔符的字符串对您没有任何好处。
 
您发布的示例,我假设为面积值
A=120000平方米
A=45000平方米。
 
"120,000"
"45,000"
 
因为我们仍然不知道这些价值观最终会为你们带来什么。
 
这就是LM的代码将发挥作用的地方。"120000" "45000"
 
我认为你最好使用他的代码。

Ahmeds 发表于 2022-7-6 07:49:46

 
是的,我的“边界”层中有一个文本实体,它是(例如A=45000平方米)。。
不,我没有忽略你的代码,我问过一次如何使用你发布的代码,因为我不知道如何使用它,但你不再回复了。。。。
你的代码对我来说并不完美,它只显示“太少的参数”
Tharwat回复,因此我使用了他的代码,并通过添加此代码使我自己的方式适合我。
 
(defun add-comma(txt / strl cont1 lth cont txt1)
(setq strl(strlen txt)
cont1 1
txt1"")
(while (and (/= (substr txt cont1 1) ".") (<= cont1 strl))
   (setq cont1 (1+ cont1)))
(setq lth   (1- cont1)
cont1 1
cont(1- lth))
(if (> lth 3)
   (progn
   (while (< cont1 lth)
(setq let(substr txt cont1 1)
      txt1 (strcat txt1 let))
(if (and (zerop (rem cont 3)) (eq (type (read let)) 'INT))
(setq txt1 (strcat txt1 ",")))
(setq cont(1- cont)
      cont1 (1+ cont1)))
   (while (<= cont1 strl)
(setq txt1(strcat txt1 (substr txt cont1 1))
      cont1 (1+ cont1)))
   txt1)
   txt))
 
HTH公司

pBe 发表于 2022-7-6 07:52:19

本地化变量是一个很好的习惯。

Tharwat 发表于 2022-7-6 07:55:25

 
事实上,伊哈瓦。。在飞行中编写的代码是所有。。。

pBe 发表于 2022-7-6 07:59:47

 
名字很清楚
 
 
无意冒犯,如果例程没有找到任何文本,它将返回“错误的参数类型…”

Tharwat 发表于 2022-7-6 08:01:37

 
Ooops代码已更新

pBe 发表于 2022-7-6 08:03:29

 
做得很好,OP现在一定对这些漂亮的选项非常满意。

Tharwat 发表于 2022-7-6 08:06:54

 
我希望如此,我想我吓跑了OP
 
谢谢塔瓦,你太好了。
 
干杯

pBe 发表于 2022-7-6 08:12:21

页: 1 [2]
查看完整版本: 获取内部字符串数