Erstes Leerzeichen in einer Zeile in txt.datei finden

  • Hallo Ihr alle,
    hilfe ich muss in einer Textdatei, die ich regelmäßig erhalte, in jeder Zeile das erste Leerzeichen das erscheint durch einen "-" ersetzen. Mache das bisher manuell ist aber eine Arbeit für DOOFE. Hat jemand ein script, das mir die Datei (heißt immer jule.txt )öffnet, das erste Leerzeichen in jeder Zeile ersetzt und als neue Datei speichet? Bin eine absoluter Neuling ( Praktikum) . könnte dann glänzen!!
    Danke
    Julia

  • Jeder etwas bessere Editor bietet eine [replace]-Funktion an, die auch wahlweise alle gefunden Stellen ändert. Also nicht mit Notepad versuchen die Sache in den Griff zu bekommen.
    Nach empfehlenswerten Editoren gibts hier im Forum genügend Threads.

    Einfach mal suchen...

    "Carpe Diem" powered by positiv Feelings

  • hab gedacht mit PHP, da die Datei auf dem Webserver ankommt. Kann man sie nicht direkt dort anlysieren die ersetzungen machen und dann unter neuen Namen abspeichern und die alte löschen?

  • doch das müsste schon gehen also ich habe jetzt nicht so die erfahrung mit txt datein einlesen weis nur das man so text relativ leicht ersetzen kann...

  • textfile einlesen (müsste ich jetzt auch nachschauen, brauche ich fast nie, aber such mal nach fopen auf php.net) und die leerzeichen ersetzen kannst du mit [php:1:e2f3256a65]<?php
    str_replace(" ", "-", $inhaltaustextfile);
    ?>[/php:1:e2f3256a65] und dann wieder ins textfile schreiben (fwrite) und schliessen (fclose) oder soo.. :?

  • ich glaube ich verstehe was Du tust, aber werden dann nicht alle Leerzeichen in der Zeile ersetzt?
    Es soll aber nur das erste in jeder das gefunden wird ersetzt werden.

    Julia

  • JA das würde alle ersetzen!!!!!!!

    Es gibt aber auch anders (-;

    Das sollte alle leerzeichen in der Datei esetzen

  • Angenommen du hast die Textdaten in einer Datei namens "julia.txt" stehen, dann sehe der nötige PHP-Code so aus


    Vielleicht ist das ja leichter verständlich. Die Funktion ltrim() entfernt alle Leerzeichen am Anfang des String. Dies sollte dein Problem schon lösen.

    "Carpe Diem" powered by positiv Feelings

  • @ torty

    habe mir den Code angesehen, nur möchte ich nicht die Führenden Leerzeichen entfernen, sondern das erste was in der Zeile gefunden wird.

    Beipiel Orginal
    Jens Schneider; 012658975; 665589725;61440;

    Ergebniss
    Jens-Schneider;012658975; 665589725;61440;

    ich hoffe dies veranschaulicht mein Problem deutlicher.

  • Ähhmm...naja - ehrlich gesagt ist mir die genaue Aufgabenstellung nun nichtmehr klar. :?
    Du willst nur(!) das 1.Leerzeichen (hier also hinter Schneider;) entfernen? Was ist mit dem angesprochenen Minus? Und warum dann nicht alle Leerzeichen nach den Semikolon's entfernen.

    So richtig versteh ich es nicht ...

    "Carpe Diem" powered by positiv Feelings

  • Sorry,

    ich möchte das 1.Leerzeichen nicht entfernen, sondern durch einen - ersetzen.

  • Mein code ist ein PHP code und in die variabelle $filename einfach den namen der zu ändernden datei eintragen. dan ausführen ( es wird nichts ausgegeben.

    es qwird nur die datei geöffnet und zeiel für zeile eingelesen und sobald as erste zeichen der zeile eine " " ( leerzeichen ) ist wird es durch ein - ersetzt.

    danach wird die datei wieder überschrieben. DAbei wird aber die ganze datei in den RAM gleaden.

  • GreenRover
    Du prüfst aber nur ob das 1.Zeichen der Zeile ein Leerzeichen ist. Steht das 1.Leerzeichen wie eben beschrieben irgendwo im Text, findet es deine Routine nicht.
    Eigentlich sollte dies kein Problem darstellen, jedoch muss man erstmal die Zeit zum tüfteln finden.... :wink:

    "Carpe Diem" powered by positiv Feelings

  • Sorry,

    mit das 1.Leerzeichen meinte ich das erste vorkommende Leerzeichen

    Beipiel:

    julia Hamman-125987456-1548953-1984
    Peter Meier-125987456-1548953-1984

    ich möcht das Lerrzeichen zwischen
    1. Zeile julia und Hamman...
    2. Zeile Peter und Meier....

    durch den - ersetzen, so das das Ergebnis wie folgt aussieht:

    1. Zeile julia-Hamman...
    2. Zeile Peter-Meier...


    Danke

  • So, jetzt aber!

    "Carpe Diem" powered by positiv Feelings

  • Mensch Torty

    Du bist echt genial, ich habe es nit einer Datei mit 1000 Zeilen versucht und das Erbenis ist perfekt. Vielen herzlichen Dank für die Hilfe. Ich werde die nun gewonnen Zeit nutzen um mir Dein Script genauer anzuschauen und natürlich auch zu verstehen wie Du das realisiert hast.
    Es ist für mich wie früher bei meiner Nachhilfe.

    Ich kenne das Problem

    Ich bekomme die Lösung

    und nun erkenne und verstehe den Weg zum Ziel.

    Liebe Grüsse und nochmal vielen, vielen Dank