Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.editoren > #525 > unrolled thread

[Notepad++] Noch 'ne Frage zum Ersetzen

Started byReinhard Zwirner <reinhard.zwirner@t-online.de>
First post2024-08-11 13:05 +0200
Last post2024-08-12 17:18 +0200
Articles 9 — 3 participants

Back to article view | Back to de.comp.editoren


Contents

  [Notepad++] Noch 'ne Frage zum Ersetzen Reinhard Zwirner <reinhard.zwirner@t-online.de> - 2024-08-11 13:05 +0200
    Re: [Notepad++] Noch 'ne Frage zum Ersetzen Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-08-11 13:34 +0200
      Re: [Notepad++] Noch 'ne Frage zum Ersetzen Reinhard Zwirner <reinhard.zwirner@t-online.de> - 2024-08-11 14:07 +0200
        Re: [Notepad++] Noch 'ne Frage zum Ersetzen Marcel Logen <333200007110-0201@ybtra.de> - 2024-08-11 14:56 +0200
          Re: [Notepad++] Noch 'ne Frage zum Ersetzen Reinhard Zwirner <reinhard.zwirner@t-online.de> - 2024-08-11 15:15 +0200
            Re: [Notepad++] Noch 'ne Frage zum Ersetzen Marcel Logen <333200007110-0201@ybtra.de> - 2024-08-11 16:06 +0200
          Re: [Notepad++] Noch 'ne Frage zum Ersetzen Reinhard Zwirner <reinhard.zwirner@t-online.de> - 2024-08-12 00:37 +0200
            Re: [Notepad++] Noch 'ne Frage zum Ersetzen Marcel Logen <333200007110-0201@ybtra.de> - 2024-08-12 17:19 +0200
        Re: [Notepad++] Noch 'ne Frage zum Ersetzen Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-08-12 17:18 +0200

#525 — [Notepad++] Noch 'ne Frage zum Ersetzen

FromReinhard Zwirner <reinhard.zwirner@t-online.de>
Date2024-08-11 13:05 +0200
Subject[Notepad++] Noch 'ne Frage zum Ersetzen
Message-ID<lhrk7hF5u8mU1@mid.individual.net>
Liebe Experten,

vorweg sicherheitshalber noch einmal: Win10/64pro.

Dank Eurer Hilfe konnte das Leerzeilenproblem ja gelöst werden :-), wie

hier <https://www.directupload.eu/file/d/8643/x7t3rfai_jpg.htm>

zu sehen ist. Allerdings hat sich ein weiteres "Problem" ergeben.

Das Navi berechnet und speichert die ermittelte Position 10x pro
Sekunde - s. obigen Link. Das ergibt, speziell bei längeren Touren,
relativ große Dateien. Für viele Anwendungen reicht aber 1 Position/s
völlig aus. Für diese würde ich gern alle Zehntelsekunden-Positionen
entfernen.

Die Zeitstempel haben folgendes Format:

<time>yyyy-mm-ddThh:mm:ssZ</time>

bzw., bei Zehntelsekunden-Positionen,

<time>yyyy-mm-ddThh:mm:ss.ds00Z</time>.

Insofern würde ich gern alle Zehntelsekunden-Zeitstempel durch den
zur vollen Sekunde gehörigen Zeitstempel

<time>yyyy-mm-ddThh:mm:ssZ</time>

ersetzen, so dass ich dann 10 verschiedene Positionen mit demselben
Zeitstempel hätte. Das wäre aber kein Problem. da ich ein
Progrämmchen habe, das in Dateien enthaltene "Dubletten" löscht.

Es wäre toll, wenn mir jemand einen Weg zeigen könnte, der für mich
als maximal ONU auch umsetzbar ist <seufz> ...

Dafür dankt schonmal

Reinhard

[toc] | [next] | [standalone]


#526

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2024-08-11 13:34 +0200
Message-ID<v9a7kd$2924n$1@dont-email.me>
In reply to#525
On 11.08.2024 13:05, Reinhard Zwirner wrote:
> Liebe Experten,
> 
> vorweg sicherheitshalber noch einmal: Win10/64pro.
> 
> Dank Eurer Hilfe konnte das Leerzeilenproblem ja gelöst werden :-), wie
> 
> hier <https://www.directupload.eu/file/d/8643/x7t3rfai_jpg.htm>
> 
> zu sehen ist. Allerdings hat sich ein weiteres "Problem" ergeben.
> 
> Das Navi berechnet und speichert die ermittelte Position 10x pro
> Sekunde - s. obigen Link. Das ergibt, speziell bei längeren Touren,
> relativ große Dateien. Für viele Anwendungen reicht aber 1 Position/s
> völlig aus. Für diese würde ich gern alle Zehntelsekunden-Positionen
> entfernen.
> 
> Die Zeitstempel haben folgendes Format:
> 
> <time>yyyy-mm-ddThh:mm:ssZ</time>
> 
> bzw., bei Zehntelsekunden-Positionen,
> 
> <time>yyyy-mm-ddThh:mm:ss.ds00Z</time>.
> 
> Insofern würde ich gern alle Zehntelsekunden-Zeitstempel durch den
> zur vollen Sekunde gehörigen Zeitstempel
> 
> <time>yyyy-mm-ddThh:mm:ssZ</time>
> 
> ersetzen, so dass ich dann 10 verschiedene Positionen mit demselben
> Zeitstempel hätte. Das wäre aber kein Problem. da ich ein
> Progrämmchen habe, das in Dateien enthaltene "Dubletten" löscht.
> 
> Es wäre toll, wenn mir jemand einen Weg zeigen könnte, der für mich
> als maximal ONU auch umsetzbar ist <seufz> ...

Warum nutzt du (bei Verwendung eines Editors) nicht die 'Ersetzen'
Funktion? - Du musst die Suchfunktion mit "Regulären Ausdrücken"
aktivieren und ersetzt die fünf Zeichen vor dem 'Z'.

Also ersetze ".....Z" durch "Z" (wobei die Punkte Meta-Zeichen
für "belibige Zeichen" darstellen); prüfe die Notepad++ Doku, was
in diesem Editor das entsprechende Meta-Zeichen ist.

Um nicht andere Vorkommen von "<irgendwas>Z" zu ersetzen, kannst
du bei Bedarf das Such-(und Ersetzungs-)Muster um das Suffix
"</time>" verlängern.

Janis

> 
> Dafür dankt schonmal
> 
> Reinhard
> 

[toc] | [prev] | [next] | [standalone]


#527

FromReinhard Zwirner <reinhard.zwirner@t-online.de>
Date2024-08-11 14:07 +0200
Message-ID<lhrnsqF6fbrU1@mid.individual.net>
In reply to#526
Janis Papanagnou schrieb:

[....]
> Warum nutzt du (bei Verwendung eines Editors) nicht die 'Ersetzen'
> Funktion? - Du musst die Suchfunktion mit "Regulären Ausdrücken"
> aktivieren und ersetzt die fünf Zeichen vor dem 'Z'.

Hi Janis,

vielen Dank für die superschnelle Antwort! Ich habe es gleich
ausprobiert, allerdings mit nur 4 Punkten vor dem Z, da die
Einer-Sekunde ja nicht gelöscht werden sollte. Und natürlich wollte
ich die Ersetzen-Funktion sowieso nutzen ...

> Also ersetze ".....Z" durch "Z" (wobei die Punkte Meta-Zeichen
> für "belibige Zeichen" darstellen); prüfe die Notepad++ Doku, was
> in diesem Editor das entsprechende Meta-Zeichen ist.
> 
> Um nicht andere Vorkommen von "<irgendwas>Z" zu ersetzen, kannst
> du bei Bedarf das Such-(und Ersetzungs-)Muster um das Suffix
> "</time>" verlängern.

Das "Z" gibt's nur im Zeitstempel, also war die Verlängerung nicht
nötig. Mit den 4 Punkten hat es auch soweit geklappt; allerdings
wurden dann auch die Volle-Sekunden-Zeitstempel gekürzt, so dass
darin deshalb nur noch die Zehner-Minuten enthalten waren. Ich werd'
mal über das Problem nachdenken, aber vielleicht fällt Dir ja sofort
die passende Lösung ein ...

Hofft und dankt nochmals

Reinhard

[toc] | [prev] | [next] | [standalone]


#528

FromMarcel Logen <333200007110-0201@ybtra.de>
Date2024-08-11 14:56 +0200
Message-ID<20240811su125653@o15.ybtra.de>
In reply to#527
Reinhard Zwirner in de.comp.editoren:

>Janis Papanagnou schrieb:

[regex]
>vielen Dank für die superschnelle Antwort! Ich habe es gleich
>ausprobiert, allerdings mit nur 4 Punkten vor dem Z, da die
>Einer-Sekunde ja nicht gelöscht werden sollte. Und natürlich wollte
>ich die Ersetzen-Funktion sowieso nutzen ...
>
>> Also ersetze ".....Z" durch "Z" (wobei die Punkte Meta-Zeichen
>> für "belibige Zeichen" darstellen); prüfe die Notepad++ Doku, was
>> in diesem Editor das entsprechende Meta-Zeichen ist.
>> 
>> Um nicht andere Vorkommen von "<irgendwas>Z" zu ersetzen, kannst
>> du bei Bedarf das Such-(und Ersetzungs-)Muster um das Suffix
>> "</time>" verlängern.
>
>Das "Z" gibt's nur im Zeitstempel, also war die Verlängerung nicht
>nötig. Mit den 4 Punkten hat es auch soweit geklappt; allerdings
>wurden dann auch die Volle-Sekunden-Zeitstempel gekürzt, so dass
>darin deshalb nur noch die Zehner-Minuten enthalten waren. Ich werd'
>mal über das Problem nachdenken, aber vielleicht fällt Dir ja sofort
>die passende Lösung ein ...

Ich verstehe das mit den vier Punkten nicht ganz.

Mit fünf Punkten würde aus

   <time>yyyy-mm-ddThh:mm:ss.ds00Z</time>
                            .....Z

=> <time>yyyy-mm-ddThh:mm:ssZ</time>

was ja IMHO wie gewünscht aussieht.

Mein Vorschlag für die regex wäre, "\.....Z" zu er-
setzen durch "Z". Das "\." steht dann für den Punkt
nach "ss". Damit würden nur die 'langen' Zeitstempel
erfaßt, wenn ich mich nicht irre.

Marcel                                                       (Lines: 47)
-- 
               ╭───────────╮        ╭─╮                           ..67..
╭──╮     ╭─╮   ╰─────────╮ │      ╭─╯ │                     ╭──╮  ..67..
╯  │ ╭───╯ ╰─╮           │ │   ╭──╯   ╰───╮  ╭──────╮  ╭──╮ │  │  ..67..
   ╰─╯       ╰───────────╯ ╰───╯          ╰──╯..47..╰──╯  ╰─╯  ╰────────

[toc] | [prev] | [next] | [standalone]


#529

FromReinhard Zwirner <reinhard.zwirner@t-online.de>
Date2024-08-11 15:15 +0200
Message-ID<lhrrs3F721jU1@mid.individual.net>
In reply to#528
Marcel Logen schrieb:

[...]
> Ich verstehe das mit den vier Punkten nicht ganz.
> 
> Mit fünf Punkten würde aus
> 
>    <time>yyyy-mm-ddThh:mm:ss.ds00Z</time>
>                             .....Z
> 
> => <time>yyyy-mm-ddThh:mm:ssZ</time>
> 
> was ja IMHO wie gewünscht aussieht.

Ah! "Ds" ist _ein_Zeichenfeld und steht, wie "s" für Sekunde, für
"Dezisekunde" (= 1/10 Sekunde): deshalb halt nur 4 Punkte. Vielleicht
hätte ich hier besser "ms" schreiben sollen, denn die dreistellige
Zahl nach dem Punkt gibt ja die Anzahl der Millisekunden an, wenn
auch in diesem Fall "nur" in Hunderterschritten.

> Mein Vorschlag für die regex wäre, "\.....Z" zu er-
> setzen durch "Z". Das "\." steht dann für den Punkt
> nach "ss". Damit würden nur die 'langen' Zeitstempel
> erfaßt, wenn ich mich nicht irre.

Das werde ich gleich mal ausprobieren!

Ciao

Reinhard

[toc] | [prev] | [next] | [standalone]


#530

FromMarcel Logen <333200007110-0201@ybtra.de>
Date2024-08-11 16:06 +0200
Message-ID<20240811su140643@o15.ybtra.de>
In reply to#529
Reinhard Zwirner in de.comp.editoren:

>Marcel Logen schrieb:

>> Ich verstehe das mit den vier Punkten nicht ganz.
>> 
>> Mit fünf Punkten würde aus
>> 
>>    <time>yyyy-mm-ddThh:mm:ss.ds00Z</time>
>>                             .....Z
>> 
>> => <time>yyyy-mm-ddThh:mm:ssZ</time>
>> 
>> was ja IMHO wie gewünscht aussieht.
>
>Ah! "Ds" ist _ein_Zeichenfeld und steht, wie "s" für Sekunde, für
>"Dezisekunde" (= 1/10 Sekunde): deshalb halt nur 4 Punkte. Vielleicht
>hätte ich hier besser "ms" schreiben sollen, denn die dreistellige
>Zahl nach dem Punkt gibt ja die Anzahl der Millisekunden an, wenn
>auch in diesem Fall "nur" in Hunderterschritten.

Ich war inzwischen auch auf diese Idee gekommen.
Jetzt ist es mir klar.

Viel Erfolg.

Marcel                                                       (Lines: 32)
-- 
        ╭─╮           ╭───╮ ╭─╮  ╭──╮    ╭─╮   ╭──╮    ..56..╭──────────
╮     ╭─╯ ╰────╮   ╭──╯   ╰─╯ ╰──╯  ╰────╯ ╰───╯  ╰─╮  ..56..╰────────╮ 
╰──╮  ╰─────╮  │ ╭─╯         ..30..╭────────────────╯   ╭──╮  ╭─────╮ │ 
   ╰────────╯  ╰─╯           ..30..╰────────────────────╯  ╰──╯     ╰─╯ 

[toc] | [prev] | [next] | [standalone]


#531

FromReinhard Zwirner <reinhard.zwirner@t-online.de>
Date2024-08-12 00:37 +0200
Message-ID<lhssq6FbtmvU1@mid.individual.net>
In reply to#528
Marcel Logen schrieb:
[...]
> Mein Vorschlag für die regex wäre, "\.....Z" zu er-
> setzen durch "Z". Das "\." steht dann für den Punkt
> nach "ss". Damit würden nur die 'langen' Zeitstempel
> erfaßt, wenn ich mich nicht irre.

Hi Marcel,

Du hast Dich nicht geirrt: es funktioniert so!

Es dankt vielmals

Reinhard

[toc] | [prev] | [next] | [standalone]


#533

FromMarcel Logen <333200007110-0201@ybtra.de>
Date2024-08-12 17:19 +0200
Message-ID<20240812mo151948@o15.ybtra.de>
In reply to#531
Reinhard Zwirner in de.comp.editoren:

>Du hast Dich nicht geirrt: es funktioniert so!

Das freut mich.

Marcel                                                       (Lines: 12)
-- 
│                    ╭───────────╮ ╭───────╮                      ..67..
╰──╮ ╭──╮            ╰─────────╮ ╰─╯  ╭────╯  ╭──╮ ╭─╮            ..67..
   ╰─╯  ╰─╮  ╭─╮   ╭──╮ ╭─╮  ╭─╯  ╭───╯  ╭────╯  ╰─╯ ╰──╮   ╭───╮  ╭─╮  
          ╰──╯ ╰───╯  ╰─╯ ╰──╯    ╰──────╯        ..51..╰───╯   ╰──╯ ╰──

[toc] | [prev] | [next] | [standalone]


#532

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2024-08-12 17:18 +0200
Message-ID<v9d943$3bnte$1@dont-email.me>
In reply to#527
On 11.08.2024 14:07, Reinhard Zwirner wrote:
> Janis Papanagnou schrieb:
> 
> [....]
>> Warum nutzt du (bei Verwendung eines Editors) nicht die 'Ersetzen'
>> Funktion? - Du musst die Suchfunktion mit "Regulären Ausdrücken"
>> aktivieren und ersetzt die fünf Zeichen vor dem 'Z'.
> 
> Hi Janis,
> 
> vielen Dank für die superschnelle Antwort! Ich habe es gleich
> ausprobiert, allerdings mit nur 4 Punkten vor dem Z, da die
> Einer-Sekunde ja nicht gelöscht werden sollte. Und natürlich wollte
> ich die Ersetzen-Funktion sowieso nutzen ...

Mir war bei der Syntax "...Thh:mm:ss.ds00Z" das 'ds' nicht ganz klar,
daher habe ich es in der Antwort so allgemein gehalten.

Für Postings sind daher immer auch konkrete Beispiele hilfreich, aus
denen man exakt die Art und Anzahl der vorkommenden Zeichen erkennen
kann.

In der Praxis würde man z.B. den Regulären Ausdruck auch spezifischer
schreiben, z.B. die Ziffern explizit spezifizieren; beispielsweise
bei <Punkt> <Ziffer> <Ziffer> <Buchstabe Z> wäre der Ausdruck

  [.][0-9][0-9]Z

im Falle einer Angabe von z.B. "T12:34:00.59Z", um die Ersetzung
der Ziffern ab dem Dezimalpunkt robuster zu gestalten.

Es ist sinnvoll, dass du dir die Dokus zur Syntax von Regulären
Ausdrücken im Notepad++ mal anschaust; das schaut im Detail nämlich
unterschiedlich aus bei verschiedenen Parsern. Meist kann man auch
Ausdrücke einfacher formulieren; wenn z.B. vier Ziffern als [0-9]{4}
geschrieben werden können (anstelle von [0-9][0-9][0-9][0-9]) oder
ggf. auch als \d{4} (wie gesagt, abhängig vom eingesetzten Produkt).

Es lohnt sich, Reguläre Ausdrücke zu lernen und anzuwenden.
(Auf den Unix-Systemen gibt es das ja schon seit 50 Jahren, aber
wenn es nun auf den MS Produkten auch verfügbar ist, umso besser!)

Viel Spaß!

Janis

> [...]

[toc] | [prev] | [standalone]


Back to top | Article view | de.comp.editoren


csiph-web