Remove Leading/Trailing String/Characters

Category: Strings

Date: 02-16-2022

Return to Index


 
'Historically, TRIM functions removed leading/trailing spaces
'PowerBASIC TRIM functions can also remove a specified character,
'string, or multiple characters from a list of characters.
 
'Primary Code:
'Syntax:  NewString$ = TRIM$(OldString$ [, [ANY] CharsToTrim$])
x$ = Trim$("  moretext   ")                   'returns  "moretext", default CharsToTrim$ is a space, " "
x$ = Trim$("demoretextde","de")               'returns  "moretext"
x$ = Trim$(" fe moretextf ef", ANY "f e" )    'returns  "moretext", treats "f e" as list of characters
 
'With TRIM functions, PowerBASIC supports the ANY keyword
'which individually trims each character from the matchstring.
'Without ANY, the matchstring is treated as a complete string
 
'The PowerBASIC LTrim$, RTrim$, and Format$ functions also provide trimming capabilities:
'LTRIM$ - trim leading character/string
'Syntax:  x$ = LTRIM$(MainString [, [ANY] CharsToTrim$])
x$ = LTrim$("  moretext")                 'returns "moretext", default CharToTrim is a space, " "
x$ = LTrim$("ababmoretext", "ab")         'returns "moretext"
x$ = LTrim$("ar ff moretext", ANY "f ar") 'returns "moretext"
'RTRIM$ - trim trailing characters/string
'Syntax:  x$ = RTRIM$(MainString [, [ANY] CharsToTrim$])
x$ = RTrim$("moretext   ")                  'returns "moretext", default CharsToTrim is a space, " "
x$ = RTrim$("moretextabab", "ab")           'returns "moretext"
x$ = RTrim$("moretextar ff ", ANY "f ar")   'returns "moretext"
'FORMAT$
'When using x$ = STR$(i), the STR function adds a leading space
'In lieu of Trim$(Str$(i)), Format$(i) can be used because when
'no format string is used, Format$ returns a string with NO leading space
Dim i as long
i = 74
x$ = Str$(i)      'returns " 74"  leading space added by STR$
x$ = Format$(i)   'returns "74"   leading space removed by Format$
 
 
 
'Compilable Example:  (Jose Includes)
#Compiler PBWin 9, PBWin 10
#Compile EXE
#Dim All
%Unicode=1
#Include "Win32API.inc"
Global hDlg As DWord
 
Function PBMain() As Long
   Dialog New Pixels, 0, "Test Code",300,300,200,200, %WS_OverlappedWindow To hDlg
   Control Add Button, hDlg, 100,"Put", 50,10,100,20
   Dialog Show Modal hDlg Call DlgProc
End Function
 
CallBack Function DlgProc() As Long
   If CB.Msg = %WM_Command AND CB.Ctl = 100 AND CB.Ctlmsg = %BN_Clicked Then
      MsgBox Trim$("  moretext   ")                  'returns  "moretext", default CharsToTrim$ is a space, " "
      MsgBox Trim$("demoretextde","de")              'returns  "moretext"
      MsgBox Trim$(" fe moretextf ef", ANY "f e" )   'returns  "moretext", treats "f e" as list of characters
   End If
End Function
 
'gbs_00242
'Date: 03-10-2012


created by gbSnippets
http://www.garybeene.com/sw/gbsnippets.htm