Rubrik: Variablen/Strings · String-Operationen | VB-Versionen: VB6 | 15.03.11 |
Mid$ als Zuweisung nutzen Mid$ als Sonderfall für Replace-Funktion einsetzen | ||
Autor: Ralf Schlegel | Bewertung: | Views: 9.258 |
www.vb-zentrum.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Mit der Funktion Mid$ holt der Programmierer in der Regel einen Teil einer Zeichenkette ab, um mit den ermittelten Werten weiter zu arbeiten. Was viele nicht wissen: Mid$ kann auch als Zuweisung genutzt werden!
Wir wollen in einem String einen Teilausdruck austauschen. Das machen wir dann normalerweise in folgender Form:
myString = "Hallo" p = InStr(1, myString, "ll") If p > 0 Then ' gefundene Buchstaben austauschen: myString = Left$(myString, p - 1) & "ik" & Mid$(myString, p + 2) Debug.Print myString End If
Wesentlich effektiver geht es allerdings durch eine Zuweisung:
myString = "Hallo" p = InStr(1, myString, "ll") If p > 0 Then ' Austausch in Kurzform: Mid$(myString, p, 2) = "ik" Debug.Print myString End If
Was auf den ersten Blick wie eine nachgemachte Replace-Funktion aussieht, bietet tatsächlich ganz neue Möglichkeiten:
denn der 3. Parameter der Mid$-Funktion bestimmt definitiv die Länge! D.h.: wird im obigen Beispiel statt dem konstanten Ausdruck "ik" eine Stringvariable übergeben, die zur Laufzeit unterschiedliche Werte hat,
so werden immer nur 2 Zeichen an der Position p ausgetausch, auch wenn der zugewiesene String länger ist!