Jack_PC 发表于 2011-7-28 22:38:28

wcmatch的用法

ssget选择一个TEXT,如何用wcmatch的方法取出0~9的数字到表;

例如:
选择一个TEXT为:GH25-Y6K-33-99MF-EE 最后返回表的结果为:(25 6 33 99)

caoyin 发表于 2011-7-29 02:18:04

本帖最后由 caoyin 于 2011-7-29 02:26 编辑

楼主说的是多个问题
---------------------------------
ssget选择带数字的文字
(ssget '((0 . "*TEXT")(1 . "*#*")))
--------------------------------------------------
字符串处理(如果字符串中不含小数点):
(defun TEST (STR)
(read (strcat "("(vl-list->string
(mapcar '(lambda (X) (if (<= 48 X 57) X 32))
          (vl-string->list STR)
))")"))
)
(test"GH25-Y6K-33-99MF-EE")->(25 6 33 99)

起子 发表于 2011-7-29 15:13:48

思路值得借鉴,将字符串转换为字符串代码表进行处理。
按这个思路处理特定分隔符的字符串,比我以前做的要简单得多。

Jack_PC 发表于 2011-7-29 18:33:37

caoyin 发表于 2011-7-29 02:18 static/image/common/back.gif
楼主说的是多个问题
---------------------------------
ssget选择带数字的文字


谢谢版主的代码,想学习一下wcmatch的用法,不知是否也能实现?

caoyin 发表于 2011-7-30 08:55:50

wcmatch只是用于字符串的匹配,而不能够处理

Jack_PC 发表于 2011-7-30 09:15:02

caoyin 发表于 2011-7-30 08:55 static/image/common/back.gif
wcmatch只是用于字符串的匹配,而不能够处理

谢谢,之前我一直理解错了这个函数的用法

jackynine 发表于 2011-8-5 09:57:48

版主功力深厚

jack093 发表于 2012-4-27 19:13:09

楼主真是高手

vlisp2012 发表于 2012-4-29 15:06:04

xiabin68 发表于 2012-12-31 18:27:32

caoyin 发表于 2011-7-29 02:18 static/image/common/back.gif
楼主说的是多个问题
---------------------------------
ssget选择带数字的文字


学习了,,,,历害版主
页: [1]
查看完整版本: wcmatch的用法