<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.mcselec.com/bavr/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=SPLIT</id>
		<title>SPLIT - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.mcselec.com/bavr/index.php?action=history&amp;feed=atom&amp;title=SPLIT"/>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=SPLIT&amp;action=history"/>
		<updated>2026-04-29T07:15:29Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.18.6</generator>

	<entry>
		<id>http://wiki.mcselec.com/bavr/index.php?title=SPLIT&amp;diff=863&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;= &lt;span class=&quot;f_Header&quot;&gt;Action&lt;/span&gt; =  Split a string into a number of array elements.  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;nbsp;&lt;/span&gt;  &lt;span style=&quot;font-family: Arial;&quot;&gt;&amp;...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.mcselec.com/bavr/index.php?title=SPLIT&amp;diff=863&amp;oldid=prev"/>
				<updated>2013-02-12T17:31:28Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =  Split a string into a number of array elements.  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;  &amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Action&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
Split a string into a number of array elements.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Syntax&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
count =&amp;amp;nbsp;&amp;lt;span class=&amp;quot;f_Syntax&amp;quot;&amp;gt;SPLIT&amp;lt;/span&amp;gt;&amp;amp;nbsp;(source, array, search)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Remarks&amp;lt;/span&amp;gt; =&lt;br /&gt;
&amp;lt;div style=&amp;quot;padding: 0px; margin: 0px 0px 0px 4px;&amp;quot;&amp;gt;&lt;br /&gt;
{| width=&amp;quot;573&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;12%&amp;quot; style=&amp;quot;width: 65px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
count&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 499px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The number of elements that SPLIT() returned. When the array is not big enough to fill the array, this will be the maximum size of the array. So make sure the array is big enough to hold the results.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;12%&amp;quot; style=&amp;quot;width: 65px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
source&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 499px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The source string or string constant to search for.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;12%&amp;quot; style=&amp;quot;width: 65px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
array&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 499px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The index of the first element of the array that will be filled&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;12%&amp;quot; style=&amp;quot;width: 65px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
search&lt;br /&gt;
&lt;br /&gt;
| valign=&amp;quot;top&amp;quot; width=&amp;quot;100%&amp;quot; style=&amp;quot;width: 499px; border: 1px solid rgb(0, 0, 0);&amp;quot; | &lt;br /&gt;
The character to search for. This can be a string or string constant or a byte with the ASCII value.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When you use the serial port to receive data, in some cases you need to process the data in parts.&lt;br /&gt;
&lt;br /&gt;
For example when you need to split an IP number as &amp;quot;123.45.24.12&amp;quot; you could use INSTR() or you can use SPLIT().&lt;br /&gt;
&lt;br /&gt;
You must DIM the array yourself. The content of the array will be overwritten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also important to know that the individual elements of the array need to be big enough to store the string part.&lt;br /&gt;
&lt;br /&gt;
For example when the array has 5 elements and each element may be 10 characters long, a string that is 11 bytes long will not fit. Another element will be used in that case to store the additional info.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The SPLIT function takes care not to overwrite other memory. So when you split &amp;quot;1.2.2.2.2.2.2.3.3.3&amp;quot; into an array of 3 elements, you will loose the data.&lt;br /&gt;
&lt;br /&gt;
If empty data is encountered, an empty element will be created. Thus &amp;quot;1,2,3,,5&amp;quot; will create 5 elements. Element 4 will be empty.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;See also&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
[[INSTR]]&amp;amp;nbsp;,&amp;amp;nbsp;[[CHARPOS]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-family: Arial;&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= &amp;lt;span class=&amp;quot;f_Header&amp;quot;&amp;gt;Example&amp;lt;/span&amp;gt; =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;source lang=&amp;quot;bascomavr&amp;quot;&amp;gt;&lt;br /&gt;
'--------------------------------------------------------------&lt;br /&gt;
' mega48.bas&lt;br /&gt;
' mega48 sample file&lt;br /&gt;
' (c) 1995-2005, MCS Electronics&lt;br /&gt;
'--------------------------------------------------------------&lt;br /&gt;
$regfile = &amp;quot;m48def.dat&amp;quot;&lt;br /&gt;
$crystal = 8000000&lt;br /&gt;
$baud = 19200&lt;br /&gt;
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
Dim S As String * 80&lt;br /&gt;
Dim Ar(5) As String * 10&lt;br /&gt;
Dim Bcount As Byte&lt;br /&gt;
 &lt;br /&gt;
'The split function can split a string or string constant into elements&lt;br /&gt;
'It returns the number of elements&lt;br /&gt;
'You need to take care that there are enough elements and that each element is big enough&lt;br /&gt;
'to hold the result&lt;br /&gt;
'When a result does not fit into 1 element it will be put into the next element&lt;br /&gt;
'The memory is protected against overwriting.&lt;br /&gt;
 &lt;br /&gt;
S = &amp;quot;this is a test&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Bcount = Split( &amp;quot;this is a test&amp;quot; , Ar(1) , &amp;quot; &amp;quot;)&lt;br /&gt;
'bcount will get the number of filled elements&lt;br /&gt;
'ar(1) is the starting address to use&lt;br /&gt;
'&amp;quot; &amp;quot; means that we check for a space&lt;br /&gt;
 &lt;br /&gt;
'When you use &amp;quot; aa&amp;quot; , the first element will contain a space&lt;br /&gt;
Bcount = Split( &amp;quot;thiscannotfit! into the element&amp;quot; , Ar(1) , &amp;quot; &amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
Dim J As Byte&lt;br /&gt;
For J = 1 To Bcount&lt;br /&gt;
Print Ar(j)&lt;br /&gt;
Next&lt;br /&gt;
 &lt;br /&gt;
'this demonstrates that your memory is safe and will not be overwritten when there are too many string parts&lt;br /&gt;
Bcount = Split( &amp;quot;do not overflow the array please&amp;quot; , Ar(1) , &amp;quot; &amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
For J = 1 To Bcount&lt;br /&gt;
Print Ar(j)&lt;br /&gt;
Next&lt;br /&gt;
End&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/source&amp;gt;&amp;lt;br/&amp;gt;{{Languages}}&lt;br /&gt;
&lt;br /&gt;
[[Category:BASCOM Language Reference]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>