1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

RegEx: replace . with -

  • mjx_biz
  • 16. Januar 2012 um 13:03
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • mjx_biz
    Punkte
    1.772
    Beiträge
    340
    • 16. Januar 2012 um 13:03
    • #1

    Hi,

    bin nicht gerade der RegExperte (oh, Wortwitz :o) und hab mich auch schon ohne Erfolg an http://gskinner.com/RegExr/ probiert. Porblem ist folgendes:

    Ich habe eine HTML-Datei mit IDs wie:

    HTML
    <span id="listing0.title.moreinfo">bla</span>


    Es gibt aber auch IDs, in denen kein Punkt vorkommt:

    HTML
    <span id="listing0">bla</span>


    Meine Frage:
    Wie kann ich alle "." in den ID-Strings durch "-" ersetzen? Die IDs ohne Punkt sollen unverändert bleiben.

    [edit]
    Finden tu ich die Einträge übrigens, aber das hilft mir nicht viel :D. Geht sicher auch einfacher, aber das is meine derzeitige Lösung:

    Code
    /id="([^']+)"/gi


    [/edit]

    4 Mal editiert, zuletzt von mjx_biz (16. Januar 2012 um 13:53)

  • madhias
    Punkte
    55
    Beiträge
    11
    • 16. Januar 2012 um 14:22
    • #2

    glaub nicht, dass das was du willst geht (zumindest nicht mit diesem tool). ne begründung hab ich dafür auch, du kannst bei einem quantifier mit der replace group immer nur auf den letzten string zugreifen der gematcht wurde (ich hoffe das war jetzt so halbwegs verständlich)

    eine möglichkeit wäre den replacer eingie male drüber laufen zu lassen mit ettwas ähnlichem wie:
    suche:

    Code
    (id=")([\w\d-]+)(\.)([\w\d\.]+")

    replace

    Code
    $1$2-$4

    aus was schöneres oder besseres bin ich auf die schnelle nicht gekommen, ich hoffe es hilft dir

  • mjx_biz
    Punkte
    1.772
    Beiträge
    340
    • 16. Januar 2012 um 14:25
    • #3

    Das mit den Groups is mir beim Herumprobieren aufgefallen, hab allerdings auf eine Lösung gehofft :D.

    Mehrere Durchläufe sind vielleicht eine Option, danke auf jeden Fall =)!

  • mjx_biz
    Punkte
    1.772
    Beiträge
    340
    • 16. Januar 2012 um 16:03
    • #4

    Hat mit Eclipse und 4 Durchläufen perfekt funktioniert, danke =)!

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Tags

  • regex
  1. Datenschutzerklärung
  2. Impressum