September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,14 +1,5 @@
|
|||
Sub Main()
|
||||
Dim parseMe As String, parsed As Variant
|
||||
parseMe = "Hello,How,Are,You,Today"
|
||||
|
||||
parsed = Split(parseMe, ",")
|
||||
|
||||
Dim L0 As Long, outP As String
|
||||
outP = parsed(0)
|
||||
For L0 = 1 To UBound(parsed)
|
||||
outP = outP & "." & parsed(L0)
|
||||
Next
|
||||
|
||||
MsgBox outP
|
||||
End Sub
|
||||
text$ = "Hello,How,Are,You,Today"
|
||||
FOR i = 1 to 5
|
||||
textArray$(i) = word$(text$,i,",")
|
||||
print textArray$(i);" ";
|
||||
NEXT
|
||||
|
|
|
|||
1
Task/Tokenize-a-string/BASIC/tokenize-a-string-11.basic
Normal file
1
Task/Tokenize-a-string/BASIC/tokenize-a-string-11.basic
Normal file
|
|
@ -0,0 +1 @@
|
|||
WScript.Echo Join(Split("Hello,How,Are,You,Today", ","), ".")
|
||||
14
Task/Tokenize-a-string/BASIC/tokenize-a-string-12.basic
Normal file
14
Task/Tokenize-a-string/BASIC/tokenize-a-string-12.basic
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
Sub Main()
|
||||
Dim parseMe As String, parsed As Variant
|
||||
parseMe = "Hello,How,Are,You,Today"
|
||||
|
||||
parsed = Split(parseMe, ",")
|
||||
|
||||
Dim L0 As Long, outP As String
|
||||
outP = parsed(0)
|
||||
For L0 = 1 To UBound(parsed)
|
||||
outP = outP & "." & parsed(L0)
|
||||
Next
|
||||
|
||||
MsgBox outP
|
||||
End Sub
|
||||
|
|
@ -1,8 +1,13 @@
|
|||
INSTALL @lib$+"STRINGLIB"
|
||||
' Tokenize a string
|
||||
OPTION BASE 1
|
||||
|
||||
text$ = "Hello,How,Are,You,Today"
|
||||
n% = FN_split(text$, ",", array$())
|
||||
FOR i% = 0 TO n%-1
|
||||
PRINT array$(i%) "." ;
|
||||
NEXT
|
||||
PRINT
|
||||
READ csv$
|
||||
DATA "Hello,How,Are,You,Today"
|
||||
|
||||
SPLIT csv$ BY "," TO elements$ SIZE n
|
||||
|
||||
FOR i = 1 TO n
|
||||
PRINT elements$[i] FORMAT "%s"
|
||||
IF i < n THEN PRINT "." FORMAT "%s"
|
||||
NEXT
|
||||
PRINT
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
'Note that Liberty Basic's array usage can reach element #10 before having to DIM the array
|
||||
For i = 0 To 4
|
||||
array$(i) = Word$("Hello,How,Are,You,Today", (i + 1), ",")
|
||||
array$ = array$ + array$(i) + "."
|
||||
Next i
|
||||
INSTALL @lib$+"STRINGLIB"
|
||||
|
||||
Print Left$(array$, (Len(array$) - 1))
|
||||
text$ = "Hello,How,Are,You,Today"
|
||||
n% = FN_split(text$, ",", array$())
|
||||
FOR i% = 0 TO n%-1
|
||||
PRINT array$(i%) "." ;
|
||||
NEXT
|
||||
PRINT
|
||||
|
|
|
|||
|
|
@ -1,15 +1,17 @@
|
|||
FUNCTION PBMAIN () AS LONG
|
||||
DIM parseMe AS STRING
|
||||
parseMe = "Hello,How,Are,You,Today"
|
||||
|
||||
REDIM parsed(PARSECOUNT(parseMe) - 1) AS STRING
|
||||
PARSE parseMe, parsed() 'comma is default delimiter
|
||||
|
||||
DIM L0 AS LONG, outP AS STRING
|
||||
outP = parsed(0)
|
||||
FOR L0 = 1 TO UBOUND(parsed) 'could reuse parsecount instead of ubound
|
||||
outP = outP & "." & parsed(L0)
|
||||
NEXT
|
||||
|
||||
MSGBOX outP
|
||||
END FUNCTION
|
||||
10 REM TOKENIZE A STRING ... ROSETTACODE.ORG
|
||||
20 T$ = "HELLO,HOW,ARE,YOU,TODAY"
|
||||
30 GOSUB 200, TOKENIZE
|
||||
40 FOR I = 1 TO N
|
||||
50 PRINT A$(I) "." ;
|
||||
60 NEXT
|
||||
70 PRINT
|
||||
80 END
|
||||
200 IF N = 0 THEN DIM A$(256)
|
||||
210 N = 1
|
||||
220 A$(N) = ""
|
||||
230 FOR L = 1 TO LEN(T$)
|
||||
240 C$ = MID$(T$, L, 1)
|
||||
250 IF C$<>"," THEN A$(N) = A$(N) + C$: GOTO 270
|
||||
260 N = N + 1
|
||||
270 NEXT L
|
||||
280 RETURN
|
||||
|
|
|
|||
|
|
@ -1,10 +1,7 @@
|
|||
NewList MyStrings.s()
|
||||
|
||||
For i=1 To 5
|
||||
AddElement(MyStrings())
|
||||
MyStrings()=StringField("Hello,How,Are,You,Today",i,",")
|
||||
'Note that Liberty Basic's array usage can reach element #10 before having to DIM the array
|
||||
For i = 0 To 4
|
||||
array$(i) = Word$("Hello,How,Are,You,Today", (i + 1), ",")
|
||||
array$ = array$ + array$(i) + "."
|
||||
Next i
|
||||
|
||||
ForEach MyStrings()
|
||||
Print(MyStrings()+".")
|
||||
Next
|
||||
Print Left$(array$, (Len(array$) - 1))
|
||||
|
|
|
|||
|
|
@ -1 +1,15 @@
|
|||
Print(ReplaceString("Hello,How,Are,You,Today",",","."))
|
||||
FUNCTION PBMAIN () AS LONG
|
||||
DIM parseMe AS STRING
|
||||
parseMe = "Hello,How,Are,You,Today"
|
||||
|
||||
REDIM parsed(PARSECOUNT(parseMe) - 1) AS STRING
|
||||
PARSE parseMe, parsed() 'comma is default delimiter
|
||||
|
||||
DIM L0 AS LONG, outP AS STRING
|
||||
outP = parsed(0)
|
||||
FOR L0 = 1 TO UBOUND(parsed) 'could reuse parsecount instead of ubound
|
||||
outP = outP & "." & parsed(L0)
|
||||
NEXT
|
||||
|
||||
MSGBOX outP
|
||||
END FUNCTION
|
||||
|
|
|
|||
|
|
@ -1,45 +1,10 @@
|
|||
DIM parseMe AS STRING
|
||||
parseMe = "Hello,How,Are,You,Today"
|
||||
NewList MyStrings.s()
|
||||
|
||||
DIM tmpLng1 AS INTEGER, tmpLng2 AS INTEGER, parsedCount AS INTEGER
|
||||
tmpLng2 = 1
|
||||
parsedCount = -1
|
||||
For i=1 To 5
|
||||
AddElement(MyStrings())
|
||||
MyStrings()=StringField("Hello,How,Are,You,Today",i,",")
|
||||
Next i
|
||||
|
||||
'count number of tokens
|
||||
DO
|
||||
tmpLng1 = INSTR(tmpLng2, parseMe, ",")
|
||||
IF tmpLng1 THEN
|
||||
parsedCount = parsedCount + 1
|
||||
tmpLng2 = tmpLng1 + 1
|
||||
ELSE
|
||||
IF tmpLng2 < (LEN(parseMe) + 1) THEN parsedCount = parsedCount + 1
|
||||
EXIT DO
|
||||
END IF
|
||||
LOOP
|
||||
|
||||
IF parsedCount > -1 THEN
|
||||
REDIM parsed(parsedCount) AS STRING
|
||||
tmpLng2 = 1
|
||||
parsedCount = -1
|
||||
|
||||
'parse
|
||||
DO
|
||||
tmpLng1 = INSTR(tmpLng2, parseMe, ",")
|
||||
IF tmpLng1 THEN
|
||||
parsedCount = parsedCount + 1
|
||||
parsed(parsedCount) = MID$(parseMe, tmpLng2, tmpLng1 - tmpLng2)
|
||||
tmpLng2 = tmpLng1 + 1
|
||||
ELSE
|
||||
IF tmpLng2 < (LEN(parseMe) + 1) THEN
|
||||
parsedCount = parsedCount + 1
|
||||
parsed(parsedCount) = MID$(parseMe, tmpLng2)
|
||||
END IF
|
||||
EXIT DO
|
||||
END IF
|
||||
LOOP
|
||||
|
||||
PRINT parsed(0);
|
||||
FOR L0 = 1 TO parsedCount
|
||||
PRINT "."; parsed(L0);
|
||||
NEXT
|
||||
END IF
|
||||
ForEach MyStrings()
|
||||
Print(MyStrings()+".")
|
||||
Next
|
||||
|
|
|
|||
|
|
@ -1,5 +1 @@
|
|||
text$ = "Hello,How,Are,You,Today"
|
||||
FOR i = 1 to 5
|
||||
textArray$(i) = word$(text$,i,",")
|
||||
print textArray$(i);" ";
|
||||
NEXT
|
||||
Print(ReplaceString("Hello,How,Are,You,Today",",","."))
|
||||
|
|
|
|||
|
|
@ -1 +1,45 @@
|
|||
WScript.Echo Join(Split("Hello,How,Are,You,Today", ","), ".")
|
||||
DIM parseMe AS STRING
|
||||
parseMe = "Hello,How,Are,You,Today"
|
||||
|
||||
DIM tmpLng1 AS INTEGER, tmpLng2 AS INTEGER, parsedCount AS INTEGER
|
||||
tmpLng2 = 1
|
||||
parsedCount = -1
|
||||
|
||||
'count number of tokens
|
||||
DO
|
||||
tmpLng1 = INSTR(tmpLng2, parseMe, ",")
|
||||
IF tmpLng1 THEN
|
||||
parsedCount = parsedCount + 1
|
||||
tmpLng2 = tmpLng1 + 1
|
||||
ELSE
|
||||
IF tmpLng2 < (LEN(parseMe) + 1) THEN parsedCount = parsedCount + 1
|
||||
EXIT DO
|
||||
END IF
|
||||
LOOP
|
||||
|
||||
IF parsedCount > -1 THEN
|
||||
REDIM parsed(parsedCount) AS STRING
|
||||
tmpLng2 = 1
|
||||
parsedCount = -1
|
||||
|
||||
'parse
|
||||
DO
|
||||
tmpLng1 = INSTR(tmpLng2, parseMe, ",")
|
||||
IF tmpLng1 THEN
|
||||
parsedCount = parsedCount + 1
|
||||
parsed(parsedCount) = MID$(parseMe, tmpLng2, tmpLng1 - tmpLng2)
|
||||
tmpLng2 = tmpLng1 + 1
|
||||
ELSE
|
||||
IF tmpLng2 < (LEN(parseMe) + 1) THEN
|
||||
parsedCount = parsedCount + 1
|
||||
parsed(parsedCount) = MID$(parseMe, tmpLng2)
|
||||
END IF
|
||||
EXIT DO
|
||||
END IF
|
||||
LOOP
|
||||
|
||||
PRINT parsed(0);
|
||||
FOR L0 = 1 TO parsedCount
|
||||
PRINT "."; parsed(L0);
|
||||
NEXT
|
||||
END IF
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue