[Gambas-user] Split Function ???

Bruce Steers bsteers4 at gmail.com
Tue Jan 12 19:15:03 CET 2021


No you need the Replace() if you wish to split using a string using more
than one single char as the pattern.

" - " is 3 chars, 2 spaces and a - so the Split() command splits at every
space as well as the "-"

Like Benoit said the Split() function only really uses one char. Using
Spit(Str," - ") is like giving a list of " " and "-" to split at.

To split a string at an instance of more than one char you have to first
convert the delimiters in the string into a single char.
So using
Replace(sText, " - ", "-") makes " - " just "-"

Hope that makes sense
BruceS

On Tue, 12 Jan 2021 at 17:40, Olivier Coquet <ocoquet at 3d-phenomen.fr> wrote:

> hi Bruce,
>
> I've omitted the "Replace" :)
>
> Olivier
> Le 12/01/2021 à 18:35, Bruce Steers a écrit :
>
> ',' is the default delimiter for Split() if no separator is given.
>
> Using Replace ("Test - test2 - test3 test4", " - ",",")  will replace all
> ' - ' occurrence for ','
> then Split() without using a separator splits at every ','
>
> If you wanted to use your own delimiter char like '|' use...
> Split(Replace ("Test - test2 - test3 test4", " - ","|"), "|")
>
> BruceS
>
> On Tue, 12 Jan 2021 at 17:25, Olivier Coquet <ocoquet at 3d-phenomen.fr>
> wrote:
>
>> thank's Fabien, but I don't understand what is the "," ???
>>
>>
>> Olivier
>>
>> Le 12/01/2021 à 18:13, Fabien Bodard a écrit :
>> > Well
>> >
>> > split(Replace ("Test - test2 - test3 test4", " - ",","))
>> >
>> > will do the job
>> >
>> > Le mar. 12 janv. 2021 à 15:26, ocoquet <ocoquet at 3d-phenomen.fr> a
>> écrit :
>> >> Thank's Charlie, i'll try this....
>> >>
>> >> Regards
>> >>
>> >> Olivier
>> >>
>> >>
>> >> Envoyé depuis mon appareil Galaxy
>> >>
>> >>
>> >> -------- Message d'origine --------
>> >> De : Charlie Ogier <charlie at cogier.com>
>> >> Date : 12/01/2021 14:47 (GMT+01:00)
>> >> À : user at lists.gambas-basic.org
>> >> Objet : Re: [Gambas-user] Split Function ???
>> >>
>> >> Hi Olivier,
>> >>
>> >> Try this: -
>> >>
>> >> '****************************
>> >> Public Sub Form_Open()
>> >>
>> >>    Dim s As String = "Test - test2 - test3 test4"
>> >>    Dim sArray As String[] = Split(s, "-") 'NOT " - "
>> >>    Dim iLoop As Integer
>> >>
>> >>    For iLoop = 0 To sArray.Max
>> >>      Print Trim(sArray[iLoop])
>> >>    Next
>> >>
>> >> End
>> >> '****************************
>> >>
>> >> Charlie
>> >>
>> >> On 12/01/2021 13:03, Olivier Coquet wrote:
>> >>
>> >> Hi all,
>> >>
>> >> I have a problem with Split function.
>> >>
>> >> If I have a string like this:
>> >>
>> >> "Test - test2 - test3 test4"
>> >>
>> >> and I split with " - " separation string, I obtain
>> >>
>> >> "Test" "test2" "test3" "test4"
>> >>
>> >> and I want:
>> >>
>> >> "Test" "test2" "test3 test4"
>> >>
>> >> How can I make this ?
>> >>
>> >>
>> >> regards
>> >>
>> >> Olivier
>> >>
>> >>
>> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>> >>
>> >>
>> >>
>> >> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>> >
>> >
>>
>> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>>
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
>
> ----[ http://gambaswiki.org/wiki/doc/netiquette ]----
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gambas-basic.org/pipermail/user/attachments/20210112/a4e8128e/attachment.htm>


More information about the User mailing list