Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
24
Task/Multisplit/BBC-BASIC/multisplit.basic
Normal file
24
Task/Multisplit/BBC-BASIC/multisplit.basic
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
DIM sep$(2)
|
||||
sep$() = "==", "!=", "="
|
||||
PRINT "String splits into:"
|
||||
PRINT FNmultisplit("a!===b=!=c", sep$(), FALSE)
|
||||
PRINT "For extra credit:"
|
||||
PRINT FNmultisplit("a!===b=!=c", sep$(), TRUE)
|
||||
END
|
||||
|
||||
DEF FNmultisplit(s$, d$(), info%)
|
||||
LOCAL d%, i%, j%, m%, p%, o$
|
||||
p% = 1
|
||||
REPEAT
|
||||
m% = LEN(s$)
|
||||
FOR i% = 0 TO DIM(d$(),1)
|
||||
d% = INSTR(s$, d$(i%), p%)
|
||||
IF d% IF d% < m% m% = d% : j% = i%
|
||||
NEXT
|
||||
IF m% < LEN(s$) THEN
|
||||
o$ += """" + MID$(s$, p%, m%-p%) + """"
|
||||
IF info% o$ += " (" + d$(j%) + ") " ELSE o$ += ", "
|
||||
p% = m% + LEN(d$(j%))
|
||||
ENDIF
|
||||
UNTIL m% = LEN(s$)
|
||||
= o$ + """" + MID$(s$, p%) + """"
|
||||
Loading…
Add table
Add a link
Reference in a new issue