2016-04-04 20 views
4

My girişfindTokens: Pharo içinde karşı Yunus Smalltalk

'a %% b %% c %%% d %% e %% f' 

olan Pharo 4'te bir dize bölmek istiyorum ve

#('a %% b %% c' 'd %% e %% f') 

böylece ayırıcı olan 'almak istiyor %%% 'Dolphin 7 yılında

güzel çalışır:

'a %% b %% c %%% d %% e %% f' subStrings: ' %%% ' 
#('a %% b %% c' 'd %% e %% f') 
yılında

Ama kırılacak gibi görünüyor:

'a %% b %% c %%% d %% e %% f' subStrings: ' %%% ' 
"#('a' 'b' 'c' 'd' 'e' 'f')" 

Pharo Dolphin davranışını almanın bir yolu yoktur?

+0

ile çalışır

'a %% b %% c %%% d %% e %% f' splitOn: ' %%% ' 

deneyin böyle ' 'Bir %% b %% c %%% d %% e %% f' olarak daha basit bir yaklaşım düşündünüz mü readStream upToAll: '%%%' '? –

+0

Evet, ancak bu daha uzun bir diziyle çalışmaz '' %% b %% c %%% d %% e %% f %%% g %% h %% i 'readStream upToAll:' %%% '' – user1000565

+0

Elbette, kodum sadece bir ipucu oldu. 'UpToAll:' sonuçlarının bir '[stream atEnd] whileFalse: [result add: (upToAll: '%%%%')]' yolunda toplanması gerekir. –

cevap

3

Ayrıca

'a %% b %% c %%% d %% e %% f %%% g %% h %% i' splitOn: ' %%% ' 
+1

Ayrıca: '%%%' bölümüyle de çalışabilir: '%% b %% c %%% d %% e %% f' ' –