LISP用什么函数能提取某字符串里的特定字符的个数。比如字符串:"AABBAACC"中,如何提取A字符的个数?
第1个回答 2015-01-06
;在字符中统计某个字符的个数
;例如: (Num-Cha "A" "AABBAACC") ;返回4
(defun Num-Cha(Xch Xstr)
(- (length (vl-string->list Xstr))
(length (vl-remove (ascii Xch) (vl-string->list Xstr)))
)
)
;例如: (Num-Cha "A" "AABBAACC") ;返回4
(defun Num-Cha(Xch Xstr)
(- (length (vl-string->list Xstr))
(length (vl-remove (ascii Xch) (vl-string->list Xstr)))
)
)
第2个回答 推荐于2018-05-17
用下面函数可以满足你的要求。
大家批评的对,应该改正如下:
(defun strn (c s / i n x)
(setq i 1
n 0
; x (sslength s)
x (strlen s)
)
(repeat x
(if (= c (substr s i 1)) (setq n (1+ n)))
(setq i (1+ i))
)
n
)
;-----------------------------------------------------------
函数调用:
(strn "A" "AABBAACC")
函数执行后返回4。本回答被提问者和网友采纳
大家批评的对,应该改正如下:
(defun strn (c s / i n x)
(setq i 1
n 0
; x (sslength s)
x (strlen s)
)
(repeat x
(if (= c (substr s i 1)) (setq n (1+ n)))
(setq i (1+ i))
)
n
)
;-----------------------------------------------------------
函数调用:
(strn "A" "AABBAACC")
函数执行后返回4。本回答被提问者和网友采纳