Pendant zu Excels "Replace()" Funktion?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

PeterD2
Beiträge: 1
Registriert: Mi, 20.09.2006 15:06

Pendant zu Excels "Replace()" Funktion?

Beitrag von PeterD2 »

Ich möchte mir gerne eine Funktion (=Makro) bauen, mit der ich nacheinander einen String auf das Vorkommen verschiedener Zeichen und Zeichenketten untersuchen, und diese ggf. ersetzen kann. In Excel geht das durch mehrmaliges Aufrufen der Replace() Funktion in einem Makro. Kann so etwas ähnliches aber in OpenOffice nicht finden. Gibt es eine Funktion zu suchen und Ersetzen von Teilstrings in Zeichenketten?

Schöne Grüße

Peter
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey Peter,
Gibt es eine Funktion zu suchen und Ersetzen von Teilstrings in Zeichenketten?
ja. Mid() - diese Funktion erwartet drei oder vier Parameter. Mit vier Parametern ersetzt du einen Teilstring. Beispiel:

Code: Alles auswählen

sub ersetze
  s1 = "ein wichtiger String"
  mid(s1, instr(s1, "wichtiger") , len("wichtiger"), "neuer")
   msgbox s1   'liefert:  ein neuer Stringt
end sub
Aber: der neue String darf maximalso lang sein wie der zu ersetzende. Sonst wird er abgeschnitten. Dann beleibt dir nur, mit Hilfskonstrukten zu arbeiten:

Code: Alles auswählen

sub ersetze
  s1 = "ein wichtiger String"
  s2 = mid(s1, instr(s1, "wichtiger")+ len("wichtiger")) 's2 = " String"
  mid(s1, instr(s1, "wichtiger") ,len(s1) , "unwichtiger")
  s1 = s1 + s2
  msgbox s1   'liefert:  ein unwichtiger String
end sub
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten