【发布时间】:2014-12-07 09:38:56
【问题描述】:
我希望从字符串列表中提取某些元素,从字符串“ENTITIES”开始,到字符串“OBJECTS”结束
到目前为止,我有这个给我从字符串 ENTITIES 开始的元素,但没有办法从字符串“OBJECTS”开始删除元素。
(define (test-string2 lst keyword)
(member (string-upcase keyword) lst))
我也看过for函数,这是我的尝试,但显然不起作用
(define (test-string2 lst keyword)
(cdr (member (string-upcase keyword) lst)))
;return list that matches keyword
(define (test-string3 lst keyword)
(if (string=? (car lst) (string-upcase keyword))
'()
(begin (car lst)
(test-string3 (cdr lst) keyword))))
;return elements in list until keyword is matched
(test-string3 (test-string2 list-of-strings "entities") "objects")
> list-of-strings
'("SECTION"
" 2"
"ENTITIES"
" 0"
"SPLINE"
" 5"
"F7"
"330"
"1F"
"100"
"AcDbEntity"
" 8"
"0"
" 6"
"Continuous"
" 62"
" 5"
"370"
" 0"
"100"
"AcDbSpline"
"OBJECTS"
"3"
"5"
"6"
"6"
"7"
"78")
【问题讨论】:
-
没什么大不了的,我只想要“ENTITIES”和“OBJECTS”之间的元素