adc 发表于 2012-2-4 23:40:24

请帮忙检查个程序

(defun tt (str)
(mapcar '(lambda (x)
         (while (vl-string-search x str)
         (setq str (vl-string-subst "" x str))
         )
       )
      '("(" "[" "{" "<" "(" "{" "〔" "《" "「" "『" "〖" "【"
      ")" "]" "}" ">" ")" "}" "〕" "》"    "」" "』" "〗" "】"
       )
)str
)
功能是删所有括号,找不出问题在哪里,希望哪位帮忙看看,谢谢!

Andyhon 发表于 2012-2-5 08:35:27

Command: (tt "from-([{<test-({〔《「『?【edcft-)]}>)}〕》」』?】end")
"from-test-edcft-end"

so,得依您的实例来调试...

ZZXXQQ 发表于 2012-2-5 09:16:44

本帖最后由 ZZXXQQ 于 2012-2-6 22:39 编辑

可以更简单

(defun tt (str)
(foreach x
   '("(" "[" "{" "<" "(" "{" "〔" "《" "「" "『" "〖" "【"
      ")" "]" "}" ">" ")" "}" "〕" "》" "」" "』" "〗" "】"
   )
   (if (vl-string-search x str)
    (setq str (vl-string-subst "" x str))
   )
)
str
)

或:

(defun tt (str)
(foreach x
   '("(" "[" "{" "<" "(" "{" "〔" "《" "「" "『" "〖" "【"
      ")" "]" "}" ">" ")" "}" "〕" "》" "」" "』" "〗" "】"
   )
(setq str (vl-string-subst "" x str))
)
str
)

adc 发表于 2012-2-5 15:17:40

ZZXXQQ 发表于 2012-2-5 09:16 static/image/common/back.gif
可以更简单

或:

我这里怎么还有问题?

ZZXXQQ 发表于 2012-2-6 22:40:58

3楼改了

Ccccccc 发表于 2012-6-25 12:59:26

ZZXXQQ 发表于 2012-2-6 22:40 static/image/common/back.gif
3楼改了

程序好像不能用啊

我还有梦想 发表于 2015-6-2 11:57:05

括号使用错误。。。。。
页: [1]
查看完整版本: 请帮忙检查个程序