相关疑难解决方法(0)

即使最后一个字符是分隔符,也要拆分字符串

我想删除字符串末尾的一些字符.

我做了这个功能:

(defun del-delimiter-at-end (string)
  (cond
    ((eq (delimiterp (char string (- (length string) 1))) nil) 
        string )
    (t 
        (del-delimiterp-at-end (subseq string 0 (- (length string) 1))) ) ) )
Run Code Online (Sandbox Code Playgroud)

有了这个 :

(defun delimiterp (c) (position c " ,.;!?/"))
Run Code Online (Sandbox Code Playgroud)

但我不明白为什么它不起作用.我有以下错误:

Index must be positive and not -1
Run Code Online (Sandbox Code Playgroud)

请注意,我想在字符串列表中拆分字符串,我已经在这里看了一下:

Lisp - 将输入拆分为单独的字符串

但是如果字符串的结尾是分隔符,它就不起作用,这就是我试图这样做的原因.

我究竟做错了什么?提前致谢.

lisp string split common-lisp

0
推荐指数
1
解决办法
235
查看次数

标签 统计

common-lisp ×1

lisp ×1

split ×1

string ×1