Code-Beispiel
StrReplaceEx
Lizenz: | Erster Autor: | Letzte Bearbeitung: |
k. A. | Eternal_Pain | 19.08.2010 |
Syntax: StrReplaceEx (MeinString[$],Suche[$],Ersetze[$][,Startposition[,EndPosition]])
Typ: Funktion
Kategorie: Stringmanipulation
StrReplaceEx
ist eine Erweiterung zu StrReplace und ist gedacht, um
eine bestimmte Zeichenkette innerhalb eines Strings
in einem bestimmten Bereich durch eine andere zu ersetzen.
Beispiel:
Dim Test as String="Das ist ein Test, Das Ist ein Test !"
?StrReplaceEx (Test,"Test","2. Test",18)
Ausgabe:
Das ist ein Test, Das Ist ein 2. Test !
Declare Function StrReplaceEx (Byval StrEx as String, _
Byval StrMask as String, _
Byval StrRplce as String, _
Byval FirstPos as UInteger=0, _
Byval LastPos as UInteger=0) as String
'-----------------------------------------------------------------------------'
Function StrReplaceEx (Byval StrEx as String, _
Byval StrMask as String, _
Byval StrRplce as String, _
Byval FirstPos as UInteger=0, _
Byval LastPos as UInteger=0) as String
If Len(StrEx)=0 or Len(StrMask)>Len(StrEx) Then Return StrEx
FirstPos = IIF (FirstPos=0, 1, FirstPos)
LastPos = IIF (LastPos=0, Len(StrEx), LastPos)
LastPos = IIF (LastPos>Len(StrEx), Len(StrEx), LastPos)
If FirstPos>Len(StrEx) Or FirstPos>LastPos Then Return StrEx
Dim Buffer as String=StrEx
Dim MaskSearch as UInteger
Dim MFound as byte
Dim lp as UInteger=FirstPos
Do
MaskSearch=InStr(lp,Buffer,StrMask)
MFound=0
If MaskSearch and MaskSearch<LastPos+1 Then
MFound=1:lp=MaskSearch+Len(StrRplce)
''
Buffer=Left(Buffer,MaskSearch-1)+ _
StrRplce+ _
Right(Buffer,Len(Buffer)-(MaskSearch+(Len(StrMask)-1)))
''
End If
Loop while MFound=1
Return Buffer
End Function
'-----------------------------------------------------------------------------'
Zusätzliche Informationen und Funktionen |
- Das Code-Beispiel wurde am 04.08.2007 von Eternal_Pain angelegt.
- Die aktuellste Version wurde am 19.08.2010 von ytwinky gespeichert.
|
|