我需要帮助编程一些东西。我正在使用 Common Lisp 进行编码,并且正在尝试从字符串列表中删除标签。我读入了一个 XML 格式的文件,我的目标是删除出现在<
和之间>
的任何文本,如果标签以 开头?xml
,则需要删除整行。我知道remove
/delete
/ 有可在命令行上使用的函数,但我正试图在我的实际 Lisp 代码中进行这种删除,但我不知道该怎么做。每次我尝试都会出错。
现在这是我读取文件的代码(它有效):
;;;Program: Lisp Assignment 1
;;;Author: Mouse
(defun file-lines (file)
;;;returns a list of strings and the number of
;;;lines read.
(with-open-file (i file)
(loop for line = (read-line i nil nil)
and line-count from 0
while line
collect line into lines
finally (return (values lines line-count)))))
我的想法是,在这行之后while line
,我必须输入代码来检查标签,但我不知道该使用什么。每次我调用remove
ordelete
方法时,都会出现错误。我不知道我是否没有正确地称呼他们或其他什么。有人可以帮忙吗?