Referenz - MID (Anweisung)
Syntax: MID[$](Text, Start[, Anzahl]) = Ausdruck
Typ: Anweisung
Kategorie: Stringfunktionen
MID ersetzt einen Teil einer Zeichenkette durch eine andere.
- 'Text' ist ein STRING, ZSTRING oder WSTRING, der verändert werden soll.
- 'Start' ist die Nummer des Zeichens, ab dem die Änderung beginnen soll. Enthält 'start' einen größeren Wert, als 'Text' lang ist, oder einen Wert kleiner als 1, dann wird nichts geändert.
- 'Anzahl' gibt an, wie viele Zeichen geändert werden sollen. Wird 'Anzahl' ausgelassen, richtet sich die Anzahl der zu ändernden Zeichen nach der Länge des nachfolgenden 'Ausdruck'. Ist 'Anzahl' größer, als 'Ausdruck' lang ist, wird automatisch die Länge von 'Ausdruck' verwendet. Ist 'Ausdruck' länger, als 'Anzahl' groß ist, dann werden nur die ersten 'Anzahl' Zeichen aus 'Ausdruck' verwendet.
In jedem Fall bleibt die Länge von 'Text' erhalten. Sollen mehr Zeichen ersetzt werden, als 'Text' aufnehmen kann, dann findet nur eine Ersetzung bis zum Ende von 'Text' statt.
Das Dollarzeichen ($) als Suffix ist optional.
Beispiel:
DIM text AS STRING
text = "abc 123"
PRINT text ' Ausgabe: "abc 123"
MID(text, 5, 3) = "4" & "56"
PRINT text ' Ausgabe: "abc 456"
MID(text, 1, 2) = "def"
PRINT text ' Ausgabe: "dec 456"
SLEEP
Wenn man eine Anzahl von Zeichen durch eine andere Anzahl von Zeichen ersetzen will, kann diese Anweisung nicht eingesetzt werden. Stattdessen muss man den neue String selbst zusammensetzen.
Beispiel:
DIM AS STRING text = "Schönen Abend!"
DIM AS INTEGER suche
' Da Umlaute u. U. nicht korrekt dargestellt werden, wird 'ö' durch 'oe' ersetzt.
suche = INSTR(text, "ö")
IF suche > 0 THEN ' 'ö' gefunden
' Umlaut ersetzen
text = LEFT(text, suche-1) & "oe" & MID(text, suche+1)
END IF
PRINT text
SLEEP
Hinweis: Das Beispiel funktioniert nur einwandfrei, wenn es in einem Format wie ISO 8859-1 o. ä. gespeichert wurde, bei dem der Buchstabe "ö" nur ein Byte Speicherplatz benötigt.
Unterschiede zu QB:
- In QB ist das Suffix $ verbindlich.
- Da QB kein Unicode unterstützt, existiert dort auch nicht die Möglichkeit, WSTRING zu verwenden.
Plattformbedingte Unterschiede:
Unicode wird in der DOS-Portierung von FreeBASIC nicht unterstützt, deshalb kann dort auch kein WSTRING verwendet werden.
Unterschiede unter den FB-Dialektformen:
- In der Dialektform -lang qb ist das Suffix $ verbindlich.
- In den Dialektformen -lang fblite und -lang fb ist das Suffix optional.
Siehe auch:
MID (Funktion), String-Funktionen
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|