Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

Code-Beispiel

Code-Beispiele » Stringfunktionen

StrReplaceEx

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.MitgliedEternal_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 MitgliedEternal_Pain angelegt.
  • Die aktuellste Version wurde am 19.08.2010 von Redakteurytwinky gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen