| ls list | ls := [:pathList :pathTo | | start stream results path | start := pathTo size + 1. stream := pathList readStream. results := OrderedCollection new. [(path := stream next) notNil] whileTrue: [ (path beginsWith: pathTo) ifTrue: [ | end | end := path indexOf: $/ startingAt: start. end isZero ifTrue: [end := path size]. results add: (path copyFrom: start to: end)]]. results asArray]. list := #('aaa/bbb' 'aaa/ccc' 'aaa/ddd/eee' 'bbb/ddd/eee'). ls value: list value: 'aaa/'. "=> #('bbb' 'ccc' 'ddd/') " ls value: list value: 'aaa/ddd/'. "=> #('eee') "