Regular Expressions - Punkt ersetzen

Hallo WWW-Gemeinde,

mit welcher RegEx kann der Punkt durch ein anderes Zeichen ersetzt werden ?

Beispiel:
Aus
„Das ist ein Test 1.2.3.4“
soll dann
„Das ist ein Test 1_2_3_4“
(jeweils ohne Anführungszeichen)
gemacht werden.

Um freundliche Antworten bin ich sehr dankbar.

Hi,

da der Punkt ein aktives Zeichen ist, musst Du ihn escapen, um genau den Punkt zu erwischen, also . verwenden. Wie die Ersetzen-Syntax geht, solltest Du selbst wissen.

Gruß, Lutz

Hallo Lutz,

mir wäre schon mit der RegEx geholfen, die
Das ist ein Test 1.2.3.4
in die Bestandteile Text und Zahlen aufspaltet.

Hallo,

mir wäre schon mit der RegEx geholfen, die
Das ist ein Test 1.2.3.4
in die Bestandteile Text und Zahlen aufspaltet.

Was möchtest Du? Lutz hat Deine Aufgabenstellung doch präzise gelöst.

a) den Punkt findest Du mit dem Meta Escapezeichen „“, also : „.“
b) Gruppen bildest Du mit Klammern ()
c) Das ersetzen ist ein andere Thema. Wenn Du ein „a“ durch ein „b“ ersetzen kannst, so wirst Du auch ein „.“ durch ein „_“ ersetzen können.
d) das hantieren mit Gruppen ist wieder was anderes. Für das Aufspalten und systematische weiterverarbeiten sind Regex meist nicht geeignet, vor allem wenn z.B. die Anzahl der Zahlen pro Zeile unbestimmt ist.

Beschreibe doch einfach, was Du machen möchtest… und womit, also mit welchem Programm.

Gruß
achim

1 Like

Hi chabermu,

mir wäre schon mit der RegEx geholfen, die

wie schon wilbert sagte, was möchtest du genau machen und vor allem in welcher Programmiersprache? Denn…

Das ist ein Test 1.2.3.4

kann man z.B mit:

echo "Das ist ein Test 1.2.3.4" | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" | tr '.' '\_'

…darstellen und auf stdout ersetzen, wolltest du jedoch einen korrekten RegEx für IP’s dann wäre dieses Bsp. „falsch“, da es auch auf 999.999.999.999 passt und so eine IP gibt es nicht. Also wie du siehst, wären etwas mehr Infos hilfreich.

in die Bestandteile Text und Zahlen aufspaltet.

RegEx ist, um Muster zu suchen, das Aufspalten in Bestandteile macht man meist mit anderen Hilfmitteln, welche Programmiersprachen abhängig sind.
z.B PHP (ab 5.3.0 deprecated) dort gibt/gab es so feine Funktionen wie „ereg_replace“ oder auch in Python string.replace.

Sag einfach, was du wie und womit, genau erreichen möchtest und dir wird sicherlich geholfen.

Gruß XXD