Extract words from strings?
Blitz3D Forums/Blitz3D Programming/Extract words from strings?
| ||
patch$: = "C:\Maps\LevelMap.map" How can I extract the last word LevelMap.map, so that it is stored in a variable? print map$ ; Text on screen LevelMap.map |
| ||
Search for the last Backslash and use this position to cut the string:Print Filename("C:\Maps\LevelMap.map")
Function FileName$(Path$)
Local Where%=LastInstr(Path,"\")
Return Mid(Path,Where,999)
End Function
Function LastInstr%(Txt$, Search$)
Local Where%, Here%
Repeat
Where=Here+1
Here= Instr(Txt, Search, Where)
Until Here=0
Return Where
End Function
|
| ||
| @Midimaster Thanks You. :) |
| ||
You'd better reverse the string instead of using the InStr function.
; returns "0" if not found
Function FindLast%(s$, find$)
For i = Len(s) To 1 Step -1
If Mid(s, i,1)=find Then Return i
Next
Return 0
End Function
Local path$ = "C:\Maps\LevelMap.map"
Print Right( path, Len(path) - FindLast(path, "\" ) )
(untested, but it should work I suppose) |