User Tools

Site Tools


vba:functions:substrreplace

This is an old revision of the document!


[VBA] substrReplace()

Version 1.0.0 (21.08.2014)

Diese Funktion ist analog zum PHP-Befehl substr_replace()

Download udf_substrReplace.bas (V-1.0.0)

Beispiele

'Nach dem 3ten Zeichen alles ersetzen
?substrReplace("AB CD EF", "_uvw_", 3)
AB _uvw_
 
'Nach dem 3ten Zeichen einfügen
?substrReplace("AB CD EF", "_uvw_",3, 0)
AB _uvw_CD EF
 
'ab dem 3ten Zeichen 3Zeichen ersetzen
?substrReplace("AB CD EF", "_uvw_",3 ,3)
AB _uvw_EF
 
'Ab dem 3ten Zeichen von hinten ein Zeichen ersetzen
?substrReplace("AB CD EF", "_uvw_",-3, 1)
AB CD_uvw_EF
 
'Ab dem 3ten Zeichen bis zum 2t letzten Zeichen ersetzen
?substrReplace("AB CD EF", "_uvw_", 3, -2)
AB _uvw_EF
 
'Text am Anfang anfügen
?substrReplace("AB CD EF", "_uvw_",0,0)
_uvw_AB CD EF

Und noch ein einfaches Beispiel, wie man diese Funktion für RegExp-Ersetzungen gut gebrauchen kann

Dim rx As New regExp:   rx.Pattern = "\d+": rx.Global = True
Dim txt As String:      txt = "9 Hühner und 12 Schweine"
 
Dim mc As MatchCollection:  Set mc = rx.execute(txt)
'von Hinten nach vorne iterieren, damit die Startpunkte (firstIndex) ihre Gültigkeit behalten
Dim i As Integer: For i = mc.count - 1 To 0 Step -1
    Dim m As Match: Set m = mc.item(i)
    txt = substrReplace(txt, m.value ^ 2, m.firstIndex, m.length)
Next i
Debug.Print txt
 
'Ausgabe:
'81 Hühner und 144 Schweine

Code

Unable to display file "/vba/functions/udf_substrReplace.bas": It may not exist, or permission may be denied.

vba/functions/substrreplace.1412683873.txt.gz · Last modified: 07.10.2014 14:11:13 by yaslaw