vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

In diesem Forum haben Sie die Möglichkeit Kommentare, Fragen und Verbesserungsvorschläge zu den im vb@rchiv gelisteten Tipps und Workshops zu posten.

Hinweis:
Ein neues Thema kann immer nur über die jeweilige Tipps & Tricks bzw. Workshop Seite eröffnet werden!

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen zu Tipps & Tricks und Workshops im vb@rchiv
Tipp 2510: Eine Extension für String-Bearbeitung: String/Char an n-ter Position ändern 
Autor: Manfred X
 Tipp anzeigenDatum: 20.10.20 16:55

Hallo!

Zeichenfolgen-Variablen sind in VB.Net unveränderlich,
d.h. bei jeder Operation, die String-Variablen zerlegt oder zusammenfügt,
muss erneut Speicher angefordert und es müssen die Zeichen kopiert werden.

Aus diesem Grund ist es effektiver, wenn man Zeichenfolgen in Instanzen
der Stringbuilder-Klasse überträgt und die Einfüge- oder Ersetzungsoperationen
dort vornimmt. Diese Klasse verwaltet Zeichenfolgen als Liste und minimiert
dadurch den Verwaltungs-Aufwand.


Sei str der String,
oldvalue der zu ersetzende Teilstring,
newvalue der einzusetzende Teilstring,
n die Angabe, der wievielte Teilstring zu ersetzen ist,
sc ein String-Comparison-Enumerationswert, der die Art des Vergleichs bestimmt

Dim pos, c as integer
c = 0: pos = -1
 
Do
     c += 1
     pos = str.IndexOf(oldvalue, pos + 1, sc)
     If c = n And pos >= 0 Then
        Dim stb As New Text.StringBuilder(str)
        Return stb.Replace(oldvalue, newvalue, pos, oldvalue.Length).ToString()
 
     End If
Loop While pos >= 0 AndAlso c < n
 
Return str 'oldvalue nicht in der geforderten Anzahl gefunden


Beitrag wurde zuletzt am 20.10.20 um 17:02:10 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um einen neuen Beitrag schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel