请教怎么删除单行文字前两个字符串
请教各位高手,怎么框选后删除单行文字前的序号。本帖最后由 free-freak 于 2022-8-6 17:17 编辑
(defun c:ttt ()
(vl-load-com)
(setq int (getint "输入删除字符的个数"))
(setq i -1)
(if (setq ss (ssget '((0 . "text"))))
(while (setq s1 (ssname ss (setq i (1+ i))))
(setq s1list (vl-string->list (xyp-DXF 1 s1)))
(setq n 0)
(setq j 0.0)
(while (< j int)
(if (> (nth n s1list) 127)
(setq j (+ j 0.5))
(setq j (1+ j))
)
(setq n (1+ n))
)
(if (> (strlen (xyp-DXF 1 s1)) n)
(xyp-SubUpd s1 1 (substr (xyp-DXF 1 s1) (1+ n)))
)
)
)
(princ)
)
(defun xyp-SubUpd (ename code newvalue)
(entmod (subst (cons code newvalue)
(assoc code (entget ename))
(entget ename)
)
)
(entupd ename)
)
(defun xyp-dxf (code e)
(cdr (assoc code (entget e)))
)
根据 e派 大神的源码整理修改,增加了判断统计特殊字符部分,新手学习,望多指正 (setq s(cdr(assoc 1 (entget (setq ent(car(entsel "\n請拾取")))))))
(entmod(subst(cons 1 (substr s 3 (strlen s)))(assoc 1 (entget ent))(entget ent))) free-freak 发表于 2022-8-5 23:27
(defun c:ttt ()
(vl-load-com)
(setq int (getint "输入删除字符的个数"))
好用,多谢分享! (setq a (vl-string-left-trim "1234567890 . 、" a)) 自贡黄明儒 发表于 2022-7-25 18:25
(setq a (vl-string-left-trim "1234567890 . 、" a))
谢谢大佬~~~ xj6019 发表于 2022-7-25 18:27
(setq s(cdr(assoc 1 (entget (setq ent(car(entsel "\n請拾取")))))))
(entmod(subst(cons 1 (substr s 3 ...
大佬不行呀,:'(
substr s 3 把3改成2 再试试 xj6019 发表于 2022-7-25 21:46
substr s 3 把3改成2 再试试
点第一次只是去掉了前面的数字,顿号没去掉。再点一次又是变成乱码了 这是什么字体,很好看。 mokson 发表于 2022-7-26 09:00
这是什么字体,很好看。
都成乱码了还好看?:lol
这里提供个fas 请测试
页:
[1]
2