7.1 Zeichenweiser Zugriff:
o Visual Basic:
In Visual Basic kann man jedes Zeichen mit der Funktion Mid ansprechen
zeichen = Mid(Text,pos,1)
Mid(Text,pos,1) = 'a'
Der letzte Parameter gibt die Anzahl der Zeichen an.
o C:
In C kann man die einzelnen Zeichen über den Index von 0 bis Länge des Strings -1 ansprechen.
Text[17] = 'a'; }
zeichen = Text[17]; } Das 18. Zeichen wird bearbeitet.
o MFC:
In MFC kann auf ein String-Objekt genauso wie unter C zugegriffen werden
Text[17] = 'a'; }
zeichen = Text[17]; } Das 18. Zeichen wird bearbeitet.
o Java:
In Java muß man sich mit der Memberfunktion CharAt und SetCharAt behelfen.
Text.SetCharAt(17,\"a\"); } Das 17. Zeichen wird
zeichen = Text.CharAt(17); } bearbeitet.
o COBOL:
In COBOL erlauben nur einige Compiler den Zugriff auf einzelne Stringkomponenten. Eine andere Alternative ist daher die Vereinbarung eines Strings als Tabelle:
01 Text.
05 Element PIC X OCCURS 17 TIMES.
7.2 Teilstring suchen:
Im String Text wird nach Suchstring gesucht!
o Visual Basic:
In Visual Basic gibt es die Funktion Instr, welche die Position des ersten Zeichens des Suchkriteriums innerhalb von Text zurückliefert, 0 bedeutet nichts gefunden.
Position = Instr(Suchstring,Text);
o C:
In C steht meistens die Funktion strstr zur Verfügung, die einen Zeicher auf den gefundenen Suchstring in Text oder NULL bei nicht gefunden zurückliefert.
Zeiger = strstr(Text,Suchstring);
o MFC:
Unter MFC steht die Member-Funktion Find zur Verfügung.
Position=Text.Find(\"Hallo\");
o Java:
In Java wird die Member-Funktion IndexOf() zur Verfügung gestellt.
Position=Text.IndexOf(\"Hallo\");
o COBOL:
COBOL stellt keine eigene Suchfunktion zur Verfügung.
7.3 Teilstring herauskopieren:
o Visual Basic:
In Visual Basic gibt es Left$, Right$ und Mid$, wobei Left$ die ersten n Zeichen, Right$ die letzten n Zeichen, und Mid$ n Zeichen ab der Position von String liefert. Die Zählung beginnt bei 1.
Text = \"Franz\"
Ziel = Mid$(Text,2,3) Ziel = \"ran\"
o C:
Hier gibt es die Funktion strncpy, die einen Positionszeiger, nämlich Text übergeben bekommt und von dieser Position an n Zeichen kopiert. Der Nachteil dieser Stringfunktion ist, dass sie keine abschließende ASCII 0 anhängt und daher der Programmierer sich selbst darum kümmern muß.
strcpy(Text,\"Franz\");
strncpy(Ziel,Text+1,3); Ziel = \"ran\"
Ziel[3] = 0;
o MFC:
Hier gibt es die selben Funktionen wie unter Visual Basic, nur das sie hier eine Memberfunktion von CSring sind: Mid(),Left(),Right()
Text=\"Franz\";
NeuText=Text.Mid(1,3); NeuText=\"ran\";
o COBOL:
In COBOL gibt es keine Funktion, die einen Teilstring herauskopiert. Hier muß der Programmierer selbst Hand anlegen.
7.4 Teilstring einfügen:
Bsp.:
Text1: Hello world
Text2: Franz and hello
Ergebnis: Hello Franz and hello world
Diese Funktion wird unter keiner Programmiersprache zur Verfügung gestellt und muß umständlich ausprogrammiert werden.
7.5 Teilstring löschen:
Text: Hello Miss America!
Ergebnis: Hello America!
o Visual Basic:
In Visual Basic gibt es dafür keine vorgefertigte Funktion.
o C:
strcpy(Text+6,Text+11);
In C wird einfach der hintere Teil des Strings an die neue Stelle kopiert. Dadurch wird der Teilstring überschrieben.
o MFC und Java:
Hier gibt es keine eigene Funktion und es muß ähnlich wie unter C ausprogrammiert werden.
o COBOL:
In COBOL gibt es für dieses Problem keine vorgefertigte Funktion.
7.6 Teilstring ersetzen:
o Visual Basic:
Teilstring ersetzen kann man in Visual Basic einfach mit der Funktion Mid, wobei der letzte Parameter die Anzahl der einzufügenden Zeichen angibt
Text = \"Franz war hier\"
Mid(Text,7,3) = \" 17\" Ergebnis: \"Franz 17 hier\"
o C:
In C kann man dazu die Funktion strncpy verwenden. Hier ist von Vorteil, dass strncpy keine abschließende ASCII 0 schreibt.
strcpy(Text,\"Franz war hier\");
strncpy(Text+6,\" 17\"); Ergebnis: \"Franz 17 hier\"
o MFC und Java:
Hier gibt es keine eigene Funktion und es muß ähnlich wie unter C ausprogrammiert werden.
o COBOL
In COBOL kann man sich nur helfen, wenn man den String als Tabelle vereinbart hat, denn nur so kann man auf einzelne Zeichen zugreifen. Den Algorithmus muß man allerdings selbst entwickeln, da entsprechende Zugriffsfunktionen fehlen.
7.7 Teilstring anhängen
o Visual Basic:
Ergebnis = Text1 + Text2 oder
Ergebnis = Text1 & Text2
o C:
In C gibt es dafür die Funktion strcat, die einen String an einen anderen anhängt und mit ASCII 0 abschließt.
strcpy (Ergebnis,Text1);
strcat (Ergebnis,Text2);
o MFC:
Text=\"Hallo\"+Text;
o Java:
Text=\"Franz\"+Text;
COBOL:
STRING Text1 Text2 DELIMITED BY SIZE INTO Ergebnis.
|