REMOVE string in string array

User avatar
sal21
PlatinumLounger
Posts: 4576
Joined: 26 Apr 2010, 17:36

REMOVE string in string array

Post by sal21 »

i just have VALORE ="8-56-7-1254-88-6"
and INDICE=7
How to remove INDICE from VALORE, end maintain the format:
"8-56-1254-88-6"

Note:
INDICE have a variable lenght

googoling...
Private Sub FORMAT_STRINGM()

VALORE = SSTAB_GYM.LNRPMOD.Caption

Select Case True

Case VALORE Like INDICE & "-#*"
VALORE = Replace$(VALORE, INDICE & "-", vbNullString, , 1)
Case VALORE Like "*#-" & INDICE
VALORE = Left$(VALORE, InStrRev(INDICE, "-") - 1)
Case VALORE Like "*-" & INDICE & "-*"
VALORE = Replace$(VALORE, "-" & INDICE & "-", "-")

End Select
'PATM = VALORE

End Sub

User avatar
HansV
Administrator
Posts: 80088
Joined: 16 Jan 2010, 00:14
Status: Microsoft MVP
Location: Wageningen, The Netherlands

Re: REMOVE string in string array

Post by HansV »

A shorter version:

Code: Select all

Private Sub FORMAT_STRINGM2()
    VALORE = SSTAB_GYM.LNRPMOD.Caption
    VALORE = Join(Filter(Split(VALORE, "-"), INDICE, False), "-")
End Sub
Best wishes,
Hans

User avatar
sal21
PlatinumLounger
Posts: 4576
Joined: 26 Apr 2010, 17:36

Re: REMOVE string in string array

Post by sal21 »

HansV wrote:
02 Jan 2025, 11:39
A shorter version:

Code: Select all

Private Sub FORMAT_STRINGM2()
    VALORE = SSTAB_GYM.LNRPMOD.Caption
    VALORE = Join(Filter(Split(VALORE, "-"), INDICE, False), "-")
End Sub
:clapping:

snb
5StarLounger
Posts: 678
Joined: 14 Nov 2012, 16:06

Re: REMOVE string in string array

Post by snb »

What about 'replace' ?