2009-04-20 4 views
0

c'est le mauvais site pour demander, mais nous espérons que quelqu'un sait ...Maple et peut-être sous-chaînes

Comment puis-je briser une chaîne à Maple et de le stocker dans une liste de sous-chaînes?

dire ma chaîne est: "i love le week-end"

et je veux le casser en sous-chaînes de taille 2 ... donc je ressemblerait à ceci

substrs;

substrs = [[i] [lo] [ve] [t] [il] [w] [ee] [ke] [e] [s]]

Répondre

1

LengthSplit dans le paquet StringTools semble faire ce que vous voulez:

substrs := StringTools[LengthSplit]("i love the weekends", 2); 
+0

Cela fonctionne très bien! Comment le convertirais-tu en une liste? – user69514

1

cela fonctionne très bien! Comment le convertirais-tu en une liste? - user69514 20 avril 09 à 17:36

simple, il suffit de mettre un constructeur de liste autour:

substrs := [StringTools[LengthSplit]("i love the weekends", 2)]; 
0
s := "abcdefghijklmnopqrstuvwxyz"; 
s[1..2]; 
seq(s[i..i+1], i=1..length(s), 2); 
+0

Cette approche ne s'adapte pas bien pour les longues chaînes. A la longueur = 10^6 c'est environ 350 fois plus lent que LengthSplit sur 64bit Windows Maple 17 sur un rapide Intel i7. L'effet s'aggrave à mesure que la longueur augmente. Pour la longueur = 2 * 10^6 c'est environ 850 fois plus lent. – acer

Questions connexes