Lt Dan's l 发表于 2022-7-6 10:30:50

从th中的点开始计算文本

我想数数文本,但想从文本中的破折号开始。测试中唯一一致的是短跑。
 
我知道strlen要计数,但我要转换为列表然后使用成员吗?
字符串示例
冷却器-。。。
冷冻柜-。。。
冷冻柜制冷-。。。

lpseifert 发表于 2022-7-6 10:51:10

如果您试图计算字符串中-之后的字符数
这里有一个方法。。。如果-不在字符串中,则会出现错误

_4$ (- (strlen "Cooler-123")(vl-string-position (ascii "-") "Cooler-123" 0 ) 1)
3

alanjt 发表于 2022-7-6 11:11:07

(defun foo (s)
(vl-string-left-trim
   " "
   (substr s
         (+ 2
            (cond ((vl-string-search "-" s))
                  (-1)
            )
         )
   )
)
)
 
(foo“alan-thompson”)->“thompson”
(foo“alan”)->“alan”

Lt Dan's l 发表于 2022-7-6 11:27:35

好家伙!

Lee Mac 发表于 2022-7-6 11:37:08

和艾伦一样。。。
 

(defun foo ( s )
(vl-string-left-trim " "
   (vl-list->string
   ( (lambda ( l ) (cond ( (cdr (member 45 l)) ) ( l ))) (vl-string->list s) )
   )
)
)
页: [1]
查看完整版本: 从th中的点开始计算文本