[GastForen Programme Print/Bildbearbeitung Adobe InDesign GREP-Hilfe: Suche nach allen Zeichen außer "_"

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

GREP-Hilfe: Suche nach allen Zeichen außer "_"

Grafik-Schrubber
Beiträge gesamt: 8

8. Feb 2021, 12:39
Beitrag # 1 von 11
Bewertung:
(5348 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag zusammen,

ich habe für ein Projekt, bei dem ich die Datenzusammenführung schon erfolgreich angewendet habe (Yay!) die zweite Anforderung, dass eines der Felder eine chemische Formel beinhaltet. Der Kunde hat dazu eine Excel-Tabelle bereitgestellt, in der die Formel im folgenden Format geliefert wird:

Ca_6_(CO_3_)_1.58_(Si_2_O_7_)_0.21_(OH)_7_[Cl_0.50_(OH)_0.08_(H_2_O)_0.42_]

Das sieht erst mal beeindruckend aus. Was ich aber noch machen muss ist, alle Zeichen, die zwischen zwei "_" stehen tiefzustellen. Dazu habe ich ein entsprechendes Zeichenformat angelegt. Ich hatte jetzt gedacht, ich suche nach

_(.+)_ und ersetze dann durch $1 und wende darauf das Zeichenformat an. Unglücklicherweise findet er dann folgendes:

_6_(CO_3_)_1.58_(Si_2_O_7_)_0.21_(OH)_7_[Cl_0.50_(OH)_0.08_(H_2_O)_0.42_

Also er macht nicht nach dem zweiten "_" halt, sondern nimmt alles, was zwischen dem ersten und dem letzten "_" steht. Kann ich von der Logik her nachvollziehen, aber verständlicherweise ist das nicht, was ich will.

Deshalb hätte ich gedacht, ich kann vielleicht nach einem beliebigen Zeichen außer "_" suchen, dann würde er vielleicht beim direkt auf das erste "_" folgende "_" Halt machen. Aber vielleicht ist das auch der falsche Ansatz.

Hat jemand eine Idee, wie er immer nur die Zeichen zwischen zwei "_" findet und dann zum nächsten "_"-Paar springt? Herzlichen Dank für eure Hilfe!

Liebe Grüße
Achim
X

GREP-Hilfe: Suche nach allen Zeichen außer "_"

drerol74
Beiträge gesamt: 507

8. Feb 2021, 16:40
Beitrag # 2 von 11
Beitrag ID: #578656
Bewertung:
(5282 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Achim,

setz mal nach dem Plus in deinem GREP-Ausdruck ein Fragezeichen (kürzeste Entsprechung), also:

Code
_(.+?)_ 


Wenn die _ überall richtig gesetzt sind, sollte es damit funktionieren.

Schöne Grüße
Roland


als Antwort auf: [#578650]

GREP-Hilfe: Suche nach allen Zeichen außer "_"

Grafik-Schrubber
Beiträge gesamt: 8

8. Feb 2021, 17:04
Beitrag # 3 von 11
Beitrag ID: #578659
Bewertung:
(5270 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ja top, funktioniert perfekt, vielen Dank!
Was bedeutet/bewirkt denn das Fragezeichen?


als Antwort auf: [#578656]
(Dieser Beitrag wurde von Grafik-Schrubber am 8. Feb 2021, 17:05 geändert)

GREP-Hilfe: Suche nach allen Zeichen außer "_"

pixxxelschubser
Beiträge gesamt: 1708

8. Feb 2021, 17:24
Beitrag # 4 von 11
Beitrag ID: #578660
Bewertung:
(5259 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Klick einfach mal in der Grep-Suchen-Palette auf das @-Zeichen - dann weiter auf Wiederholung: Ein oder mehrere Male (kürzeste Entsprechung)

Dann erhältst du
+?


als Antwort auf: [#578659]

GREP-Hilfe: Suche nach allen Zeichen außer "_"

drerol74
Beiträge gesamt: 507

8. Feb 2021, 17:44
Beitrag # 5 von 11
Beitrag ID: #578661
Bewertung:
(5242 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Genau. + ist von sich aus »gierig«, d.h. damit findet man den längsten String, der dem Ausdruck entspricht. Mit einem ? danach bekommt man hingegen die »kürzeste Entsprechung« (non-greedy).

Alternativ: statt .+ sucht man alle Zeichen die NICHT _ entsprechen.

_([^_\s]+)_

Das ist etwas effizienter. Nur wie gesagt, die Verschachtelung der _ muss passen. Das \s soll hier vorbeugen und der Ausdruck bricht dann im dem Fall auch bei Leerräumen ab.

Schöne Grüße
Roland


als Antwort auf: [#578659]

GREP-Hilfe: Suche nach allen Zeichen außer "_"

Grafik-Schrubber
Beiträge gesamt: 8

8. Feb 2021, 18:03
Beitrag # 6 von 11
Beitrag ID: #578663
Bewertung:
(5229 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
"Gierig", ja das trifft wohl zu! :-)

Ich bin leider echter GREP-Anfänger mit ein paar auswendig gelernten Dingen.

Was hieße dann übersetzt "^_\s"? (\s ist ein Leerzeichen, das weiß ich schon mal!)
Was machen die eckigen Klammern?


als Antwort auf: [#578661]

GREP-Hilfe: Suche nach allen Zeichen außer "_"

drerol74
Beiträge gesamt: 507

8. Feb 2021, 18:28
Beitrag # 7 von 11
Beitrag ID: #578664
Bewertung:
(5213 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mit den eckigen Klammern kann man eine Zeichenklasse definieren:

Code
[xyz] 


findet x, y und z.

Mit dem Zirkumflex-Zeichen negiert man diese Zeichenklasse:

Code
[^xyz] 



findet alle Zeichen außer x, y oder z.

Schöne Grüße
Roland


als Antwort auf: [#578663]

GREP-Hilfe: Suche nach allen Zeichen außer "_"

Grafik-Schrubber
Beiträge gesamt: 8

8. Feb 2021, 18:31
Beitrag # 8 von 11
Beitrag ID: #578665
Bewertung:
(5209 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bedeutet das dann im Beispiel von oben "nicht _ und nicht Leerzeichen", oder "nicht _ aber durchaus Leerzeichen"?

Das mit dem Leerzeichen als Vorbeugung (wovor?) ist mir nicht ganz klar.

Aber schon mal danke für die schnellen Antworten hier! Mit dem Fragezeichen-Ausdruck komme ich definitiv ans Ziel! :-)


als Antwort auf: [#578664]

GREP-Hilfe: Suche nach allen Zeichen außer "_"

pixxxelschubser
Beiträge gesamt: 1708

8. Feb 2021, 18:32
Beitrag # 9 von 11
Beitrag ID: #578666
Bewertung:
(5207 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hier wird es schwieriger für dich.
Der komplette Ausdruck von @drerol74 heißt
[^_\s]+
Die Klammern gehören zwingend zu diesem Ausdruck dazu. Ohne Klammern findet der Ausdruck etwas komplett anderes!
[^] bedeutet alles was nicht/kein ist
[^_\s] bedeutet alles was kein Underscrore oder Leerzeichen (Überbegriff für horizontale und vertikale Leerräume) ist
+ ein oder mehrmals

Dein Begriff
^_\s
bedeutet: finde
Absatzanfang Underscore (irgendeine Art von) Leerraum


als Antwort auf: [#578663]

GREP-Hilfe: Suche nach allen Zeichen außer "_"

Grafik-Schrubber
Beiträge gesamt: 8

8. Feb 2021, 18:34
Beitrag # 10 von 11
Beitrag ID: #578667
Bewertung:
(5202 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich fürchte, um das in der Tiefe zu lernen, fehlt mir leider das notwendige Talent und Interesse. Aber ich find's spitze, dass es hier so viele Top-Leute auf dem Gebiet gibt!


als Antwort auf: [#578666]

GREP-Hilfe: Suche nach allen Zeichen außer "_"

pixxxelschubser
Beiträge gesamt: 1708

8. Feb 2021, 18:41
Beitrag # 11 von 11
Beitrag ID: #578668
Bewertung:
(5188 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo @drerol74,
kleiner Einwand:

Zitat Mit den eckigen Klammern kann man eine Zeichenklasse definieren:

Code
[xyz] 


findet x, y und z


So geschrieben sollte die Übersetzung eher lauten:

findet x, y oder z


als Antwort auf: [#578664]
X