It works, so now let's make it better.
The real world application will be calling ParsRepl tens of thousands of times, so how can I make it better? It is important all other fields be left unchanged.
Code:
#COMPILE EXE #DIM ALL FUNCTION ParsRepl (OrigString AS STRING, Delim AS STRING, FldNum AS LONG, ReplString AS STRING) AS STRING LOCAL Pieces() AS STRING DIM Pieces(1 TO PARSECOUNT(OrigString,Delim)) AS STRING PARSE OrigString, Pieces(), Delim Pieces(FldNum) = ReplString FUNCTION = JOIN$(Pieces(),Delim) END FUNCTION FUNCTION PBMAIN () AS LONG LOCAL TSV AS STRING TSV = BUILD$("Mary",$TAB,"had",$TAB,"a",$TAB,"little",$TAB,"lamb") PRINT TSV TSV = ParsRepl(TSV,$TAB,4,"young") PRINT TSV WAITKEY$ END FUNCTION
Comment