Multisplit: Difference between revisions

Content added Content deleted
No edit summary
Line 1,149:
4
5 c</pre>
 
=={{header|M2000 Interpreter}}==
Code from BBC BASIC with little changes to fit in M2000.
 
<lang M2000 Interpreter>
Module CheckIt {
DIM sep$()
sep$() = ("==", "!=", "=")
PRINT "String splits into:"
FNmultisplit("a!===b=!=c", sep$(), FALSE)
PRINT "For extra credit:"
FNmultisplit("a!===b=!=c", sep$(), TRUE)
END
SUB FNmultisplit(s$, d$(), info%)
LOCAL d%, i%, j%, m%, p%, o$
p% = 1
REPEAT {
m% = LEN(s$)
FOR i% = 0 TO DIMENSION(d$(),1)-1
d% = INSTR(s$, d$(i%), p%)
IF d% THEN IF d% < m% THEN m% = d% : j% = i%
NEXT I%
IF m% < LEN(s$) THEN {
o$ += """" + MID$(s$, p%, m%-p%) + """"
IF info% THEN {o$ += " (" + d$(j%) + ") "} ELSE o$ += ", "
p% = m% + LEN(d$(j%))
}
} UNTIL m% = LEN(s$)
PRINT o$ + """" + MID$(s$, p%) + """"
END SUB
}
CheckIt
</lang>
 
 
=={{header|Mathematica}}==