baiyier1112 发表于 2013-4-26 23:14:17

有关查找替换中特殊符号@

本帖最后由 baiyier1112 于 2013-4-27 00:40 编辑

想要将6@替换成8@,已解决;想要将6@替换成8@,x_s_s_1帮忙解决的
(defun c:68( / ss n ent obj txt)
(if (setq ss (ssget '((0 . "*text")(1 . "*6`@*"))))
    (repeat (setq n (sslength ss))
      (setq ent (ssname ss (setq n (1- n))))
      (setq obj (vlax-ename->vla-object ent))
      (setq txt (vla-get-textstring obj))
      (while (wcmatch txt "*6`@*")
      (setq txt (VL-STRING-SUBST "8@" "6@" txt))      )
      (vla-put-textstring obj txt)
    )
)
(princ)
)

baiyier1112 发表于 2013-4-26 23:28:17

多谢,我去试试看

baiyier1112 发表于 2013-4-26 23:38:39

还是搞不定,能否帮改一下,改成正确的,其他的替换我就可以自己参照着改了

陨落 发表于 2013-4-26 23:56:24

建议采用这个思路:利用(vl-string-position (ascii "@")语句找到@的位置,然后对@前的数字进行判断,若为六则换成8

baiyier1112 发表于 2013-4-27 00:03:16

陨落 发表于 2013-4-26 23:56 static/image/common/back.gif
建议采用这个思路:利用(vl-string-position (ascii "@")语句找到@的位置,然后对@前的数字进行判断,若为六 ...

我不会lisp编程,只会简单的照葫芦画瓢修改一下。多谢
页: [1]
查看完整版本: 有关查找替换中特殊符号@