Frage zu Replace

Tanderus

Mitglied
Hallo Leutz!


Hab mal ne Frage zu Replace.
Über die Funktion usw. bin ich bekannt, doch möchte ich mir Arbeit ersparen.

Ich möchte das ganze Alphabet durch nichts ersetzen, aber will nicht für jeden Buchstaben ein Replace() schreiben.

Wie mache ich es am besten?



Gruß Tanderus
 
Also ich hab mich gerade nen bissl über dieses RegEx informiert und auch den Link angeschaut, doch nicht wirklich verstanden, wie ich damit umgehen soll.

Aber um mein Problem etwas genauer zu erklären:

Ich habe ein Text, dort sind Zahlen vorhanden, die ich brauche.
Deswegen suche ich nach bestimmten Wörtern, um die Zahlen zu kopieren, doch da sie unterschiedliche Längen haben, hab ich ein bestimmten Wert angegeben.

Leider ist es jetzt so, das Leerzeichen oder gar andere Buchstaben dabei sind.

Wie kann ich es am besten umsetzen, das ich NUR die Zahlen rausbekomme?



Gruß, Tanderus
 
Du kannst dir auch einfach eine kleine Schleife schreiben, die das gesamte Alphabet (oder alle Zeichen ohne Zahlen-Zeichen) in einen String schreibt. Die Chr$-Funktion kann Zeichen anhand des Ascii-Codes erstellen.
Code:
	Dim intZähler As Integer
	Dim strZeichen As String
	For intZähler = 0 To 255
		If intZähler < 16 Or intZähler > 26 Then strZeichen = strZeichen & Chr$(intZähler)
	Next
Nun stehen in der Variable "strZeichen" alle Ascii-Zeichen ohne Zahlen-Zeichen.
 
Also ich hab jetzt mal dein Code in einem externen Projekt probiert und hab nach der For Schleife mal strZeichen ausgeben lassen per MsgBox und als Ergebnis kam gar nichts.
Auch während der For Schleife kam es keine Ergebnisse
 
Das liegt daran, dass das Zeichen Nr.0 ein "vbNullChar" ist, d.h. alle Zeichen nach dem Ascii-Zeichen Nr.0 werden beim Anzeigen unterschlagen. Wenn du dir den Wert der Variable aber mit dem VB-Debugger anzeigen lässt, dann funktioniert es einwandfrei. Es ist also nur ein Problem des Anzeigens des Variablen-Inhalts. Das stört die Replace-Funktion aber nicht.

Edit: Wenn du den Beispielcode von mir einfach bei 1 und nicht bei 0 anfängen lässt, dann siehst du was ich meine:
Code:
	Dim intZähler As Integer
	Dim strZeichen As String
	For intZähler = 1 To 255
		If intZähler < 16 Or intZähler > 26 Then strZeichen = strZeichen & Chr$(intZähler)
	Next
 
Zuletzt bearbeitet:
Hat sich jetzt erledigt, ich habe das Programm fertig.

Habe es jetzt so geregelt, das ich vom String immer ein Zeichen auslese und überprüfe, ob es eine Zahl ist oder nicht, mit isNumeric() und wenn es keine war dann ersetze ich in meinem String das aktuelle Zeichen mit nichts und am Ende lösch ich dann leerzeichen mit der Trim() Funktion.


Danke an Euch, das ihr mir helfen wolltet.
 

Neue Beiträge

Zurück