vl-string-left-trim 函数怎么用?
(defun c:tt ()(vl-load-com)
(setq a "123-232-250-231")
(setq a (vl-string-left-trim "-" a))
(print a)
(princ)
为什么a不是"123232-250-231"?
) 函数从字符串a的第一个字符开始和“-”匹配,遇上第一个不匹配的字符后,函数执行完毕,不再继续搜索。你这里第一个字符是1,和“-”不符,函数结束,所以字符串a无变化。 这样啊 。。。。原来不是很理解这个函数,谢谢!
再请教有啥函数 能查出一个字符串含有另一个字符串的数量
比如上边这个"123-232-250-231"中含有3个"-" (defun ttt (str)
(if (/= str (vl-string-subst "" "-" str))
(ttt str) str)
)
(- (strlen str) (strlen (ttt str))) 本帖最后由 zhuquanmao 于 2012-3-9 14:21 编辑
哈哈 不错 谢谢! 我自己也写了个 繁琐点儿(setq nn 0)
(while (vl-string-search "-" a)
(progn
(setq A (substr A (+ 2 (vl-string-search "-" A))))
(setq nn (+ 1 nn))
)
)
(PRINC nn) 请问如果想要直接删除“-”,有没有函数呢?还是说需要编程? (defun tt(str char)
(- (strlen str)(length (vl-remove (ascii char) (vl-string->list str))))
)
(tt "123-232-250-231" "-");;;返回3
;;;删除“-”
(defun tt(str char)
(vl-list->string (vl-remove (ascii char) (vl-string->list str)))
)
(tt "123-232-250-231" "-");;;返回"123232250231"
页:
[1]