SPLIT/de
Admin (Diskussion | Beiträge) (Created page with "= <span class="f_Header">Action</span> = Split a string into a number of array elements. <span style="font-family: Arial;"> </span> <span style="font-family: Arial;">&...") |
(→Example) |
||
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | + | = <span class="f_Header">Funktion</span> = | |
− | + | Verteilt eine Zeichenkette in eine Anzahl von Array-Elementen. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Zeile 15: | Zeile 15: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Anmerkungen</span> = |
<div style="padding: 0px; margin: 0px 0px 0px 4px;"> | <div style="padding: 0px; margin: 0px 0px 0px 4px;"> | ||
{| width="573" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;" | {| width="573" cellspacing="0" cellpadding="1" border="1" style="border: 2px solid rgb(0, 0, 0); border-spacing: 0px; border-collapse: collapse;" | ||
Zeile 23: | Zeile 23: | ||
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | Anzahl von Elementen, die SPLIT() zurückgegeben hat. Wenn das Array nicht groß genug definiert ist um alle Teilstrings aufzunehmen dann ist das die Maximalgröße des Arrays. Stellen Sie daher sicher, dass das Array groß genug ist um die Ergebnisse aufzunehmen. | |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 30: | Zeile 30: | ||
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | Zeichenkette oder Zeichenketten-Konstante, die zerlegt werden soll. | |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 37: | Zeile 37: | ||
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | Erstes Element des zu befüllenden Arrays. | |
|- style="vertical-align: top;" | |- style="vertical-align: top;" | ||
Zeile 44: | Zeile 44: | ||
| valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" | | | valign="top" width="100%" style="width: 499px; border: 1px solid rgb(0, 0, 0);" | | ||
− | + | Zeichen, an dem getrennt werden soll. Kann ein Zeichen oder eine Zeichen-Konstante sein oder ein ASCII-Wert (Byte). | |
|} | |} | ||
Zeile 50: | Zeile 50: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Wenn die serielle Schnittstelle für Daten-Empfang benutzt wird dann möchte man in manchen Fällen die Daten für die Weiterverarbeitung in Teile zerlegen. | |
− | + | Zum Aufteilen einer IP-Adresse wie zum Beispiel "123.45.24.12" kann man INSTR() benutzen oder SPLIT(). | |
− | + | Das Array muss vom Programmierer mit DIM definiert werden. Der Inhalt des Arrays wird durch SPLIT() überschrieben. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Wichtig ist auch, zu beachten, dass die einzelnen Elemente des Arrays groß genug sein müssen um die Teile der Zeichenkette aufzunehmen. | |
− | + | Wenn ein Array beispielsweise 5 Elemente mit je 10 Zeichen hat dann kann eine Zeichenkette mit 11 Zeichen nicht aufgenommen werden und überschreibt ggf. weitere Elemente. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | + | Die SPLIT-Funktion überschreibt keinen 'fremden' Speicherbereich. Wenn zum Beispiel "1.2.2.2.2.2.2.3.3.3" auf ein Array mit 3 Elementen zerteilt werden soll dan gehen die DATEN verloren. | |
− | + | Wenn leere Daten zwischen den Trennzeichen auftreten dann werden leere Array-Elemente erzeugt. Also werden bei "1,2,3,,5" fünf Elemente erzeugt von denen das vierte leer ist. | |
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
Zeile 72: | Zeile 72: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Siehe auch</span> = |
[[INSTR]] , [[CHARPOS]] | [[INSTR]] , [[CHARPOS]] | ||
Zeile 80: | Zeile 80: | ||
<span style="font-family: Arial;"> </span> | <span style="font-family: Arial;"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Beispiel</span> = |
<br/><source lang="bascomavr"> | <br/><source lang="bascomavr"> | ||
Zeile 98: | Zeile 98: | ||
Dim Bcount As Byte | Dim Bcount As Byte | ||
− | ' | + | 'Die Split-Funktion zerteilt eine Zeichenkette oder Zeichenketten-Konstante auf einzelne Teile. |
− | ' | + | 'Die Funktion gibt die Anzahl der Teile zurück. |
− | ' | + | 'Es müssen genügend Array-Elemente vorhanden sein und jedes Array-Element muss groß genug sein |
− | ' | + | 'um das Ergebnis aufzunehmen |
− | ' | + | 'Wenn das Ergebnis in ein Element nicht passt dann wird in das nachfolgende Element geschrieben. |
− | ' | + | 'Der Speicher ist gegen Überschreiben geschützt. |
S = "this is a test" | S = "this is a test" | ||
Bcount = Split( "this is a test" , Ar(1) , " ") | Bcount = Split( "this is a test" , Ar(1) , " ") | ||
− | 'bcount | + | 'bcount enthält die Anzahl der gefüllten Elemente |
− | 'ar(1) | + | 'ar(1) ist die Startaddress des aufnehmenden Arrays. |
− | '" " | + | '" " heißt, dass an Leerzeichen getrennt wird |
'When you use " aa" , the first element will contain a space | 'When you use " aa" , the first element will contain a space | ||
Zeile 120: | Zeile 120: | ||
Next | Next | ||
− | ' | + | 'Bei diesem Beispiel wird der nachfolgende Speicher vor Überschreiben geschützt. |
+ | 'Es sind nur 5 Elemente definiert. | ||
+ | ' Element 6 geht verloren. | ||
Bcount = Split( "do not overflow the array please" , Ar(1) , " ") | Bcount = Split( "do not overflow the array please" , Ar(1) , " ") | ||
Aktuelle Version vom 21. Februar 2013, 01:10 Uhr
Inhaltsverzeichnis |
Funktion
Verteilt eine Zeichenkette in eine Anzahl von Array-Elementen.
Syntax
count = SPLIT (source, array, search)
Anmerkungen
count |
Anzahl von Elementen, die SPLIT() zurückgegeben hat. Wenn das Array nicht groß genug definiert ist um alle Teilstrings aufzunehmen dann ist das die Maximalgröße des Arrays. Stellen Sie daher sicher, dass das Array groß genug ist um die Ergebnisse aufzunehmen. |
source |
Zeichenkette oder Zeichenketten-Konstante, die zerlegt werden soll. |
array |
Erstes Element des zu befüllenden Arrays. |
search |
Zeichen, an dem getrennt werden soll. Kann ein Zeichen oder eine Zeichen-Konstante sein oder ein ASCII-Wert (Byte). |
Wenn die serielle Schnittstelle für Daten-Empfang benutzt wird dann möchte man in manchen Fällen die Daten für die Weiterverarbeitung in Teile zerlegen.
Zum Aufteilen einer IP-Adresse wie zum Beispiel "123.45.24.12" kann man INSTR() benutzen oder SPLIT().
Das Array muss vom Programmierer mit DIM definiert werden. Der Inhalt des Arrays wird durch SPLIT() überschrieben.
Wichtig ist auch, zu beachten, dass die einzelnen Elemente des Arrays groß genug sein müssen um die Teile der Zeichenkette aufzunehmen.
Wenn ein Array beispielsweise 5 Elemente mit je 10 Zeichen hat dann kann eine Zeichenkette mit 11 Zeichen nicht aufgenommen werden und überschreibt ggf. weitere Elemente.
Die SPLIT-Funktion überschreibt keinen 'fremden' Speicherbereich. Wenn zum Beispiel "1.2.2.2.2.2.2.3.3.3" auf ein Array mit 3 Elementen zerteilt werden soll dan gehen die DATEN verloren.
Wenn leere Daten zwischen den Trennzeichen auftreten dann werden leere Array-Elemente erzeugt. Also werden bei "1,2,3,,5" fünf Elemente erzeugt von denen das vierte leer ist.
Siehe auch
Beispiel
'-------------------------------------------------------------- ' mega48.bas ' mega48 sample file ' (c) 1995-2005, MCS Electronics '-------------------------------------------------------------- $regfile = "m48def.dat" $crystal = 8000000 $baud = 19200 Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Dim S As String * 80 Dim Ar(5) As String * 10 Dim Bcount As Byte 'Die Split-Funktion zerteilt eine Zeichenkette oder Zeichenketten-Konstante auf einzelne Teile. 'Die Funktion gibt die Anzahl der Teile zurück. 'Es müssen genügend Array-Elemente vorhanden sein und jedes Array-Element muss groß genug sein 'um das Ergebnis aufzunehmen 'Wenn das Ergebnis in ein Element nicht passt dann wird in das nachfolgende Element geschrieben. 'Der Speicher ist gegen Überschreiben geschützt. S = "this is a test" Bcount = Split( "this is a test" , Ar(1) , " ") 'bcount enthält die Anzahl der gefüllten Elemente 'ar(1) ist die Startaddress des aufnehmenden Arrays. '" " heißt, dass an Leerzeichen getrennt wird 'When you use " aa" , the first element will contain a space Bcount = Split( "thiscannotfit! into the element" , Ar(1) , " ") Dim J As Byte For J = 1 To Bcount Print Ar(j) Next 'Bei diesem Beispiel wird der nachfolgende Speicher vor Überschreiben geschützt. 'Es sind nur 5 Elemente definiert. ' Element 6 geht verloren. Bcount = Split( "do not overflow the array please" , Ar(1) , " ") For J = 1 To Bcount Print Ar(j) Next End
Languages | English • Deutsch |
---|