doremidai 发表于 2009-4-12 01:00:00

LISP实现相同文字的查找和标示?

LISP如何实现相同文字的查找和标示?如图示意,输入要查找的文字“打头”,再输入其后“n”个字符,查找“打头”+其后“n”个字符相同的所有文字,并以红色表示。

vladimirputin 发表于 2016-10-19 11:11:42

不错的程序,感谢楼主分享。

vladimirputin 发表于 2016-10-19 09:51:48

这个功能很好,正需要啊。

vladimirputin 发表于 2016-10-20 12:57:15

不错的程序,谢谢分享。

bendan250 发表于 2009-4-12 15:22:00

<p>这个比较容易</p>

xiaoma1023 发表于 2009-8-22 04:01:00

怎么做呢

ZZXXQQ 发表于 2009-8-22 09:30:00

写了个找文字变色的程序,可使用文字匹配符。具体参见WCMATCH函数的帮助。
楼主的要求可用匹配串ZL-????

;相同串变红色 明经 ZZXXQQ 2009.8.22
(defun c:tt ()
(setvar "CMDECHO" 0)
(if (setq sst (getstring "\n要查找字串 :"))
(if (setq ss (ssget "X" (list '(0 . "TEXT") (cons 1 sst))))
   (command "chprop" ss "" "c" 1 "")
)
)
(setvar "CMDECHO" 1)
(princ)
)

894560869 发表于 2009-10-20 21:19:00

如果要替换文字内容呢?

cxs259 发表于 2011-7-28 14:28:29

Z版能否一同显示数量呢?

ZZXXQQ 发表于 2011-7-28 19:42:55


;函数,显示相同串数量。明经 ZZXXQQ 2011.7.28
(defun numstr (str)
(if (setq ss (ssget "X" (list '(0 . "TEXT") (cons 1 str))))
(sslength ss)
0
)
)

cxs259 发表于 2011-7-28 22:25:01

请教Z版上下怎样接起来?
;相同串变红色 明经 ZZXXQQ 2009.8.22
(defun c:tt ()
(setvar "CMDECHO" 0)
(if (setq sst (getstring "\n要查找字串 :"))
(if (setq ss (ssget "X" (list '(0 . "TEXT") (cons 1 sst))))
   (command "chprop" ss "" "c" 1 "")
)
)
(setvar "CMDECHO" 1)
(princ)
)
;函数,显示相同串数量。明经 ZZXXQQ 2011.7.28
(defun numstr (str)
(if (setq ss (ssget "X" (list '(0 . "TEXT") (cons 1 str))))
(sslength ss)
0
)
)

cxs259 发表于 2011-7-29 08:54:37

请教Z版,上下合并,还是不行,是什么原因?
;相同串变红色 明经 ZZXXQQ 2009.8.22
;函数,显示相同串数量。明经 ZZXXQQ 2011.7.28
(defun c:tt ()
(setvar "CMDECHO" 0)
(if (setq sst (getstring "\n要<strong><font color=\\"#FF0000\\">查找</font></strong>字串 :"))
(defun numstr (str)
(if (setq ss (ssget "X" (list '(0 . "TEXT") (cons 1 str))))
(sslength ss)
0
)
)
   (command "chprop" ss "" "c" 3 "")
)
)
(setvar "CMDECHO" 1)
(princ)
)

ZZXXQQ 发表于 2011-7-29 20:33:04


;相同串变红色 明经 ZZXXQQ 2009.8.22 2011.7.29改
(defun c:tt ()
(setvar "CMDECHO" 0)
(if (setq sst (getstring "\n要查找字串 :"))
(if (setq ss (ssget "X" (list '(0 . "TEXT") (cons 1 sst)))) (progn
   (command "chprop" ss "" "c" 1 "")
   (print (sslength ss))
)
)
(setvar "CMDECHO" 1)
(princ)
)
页: [1] 2 3
查看完整版本: LISP实现相同文字的查找和标示?