Me: JavaSkript Zeilenumbruch

Nach erfolgloser recherche frag ich nun hier. Ich brauche ein JavaSript was nach einem Bestimmten Zeichen oder Wort einen Zeilenumbruch einbaut.

Beispiel:

Das ist Test Nummer 1 Das ist Test Nummer 1 Das ist Test Nummer 1

Ausgabe:

Das ist Test Nummer 1
Das ist Test Nummer 1
Das ist Test Nummer 1

Das Java Skript soll nach jeder "1" einen Zeilenumbruch machen hat wer eine Idee wie ich dies umsetzen kann?

Danke!

  1. Hallo Me,

    ich habe deinen Beitrag korrigiert: Um hier im Forum einen Zeilenumbruch darzustellen, müssen zwei Leerzeichen am Zeilenende notiert werden.

    Viele Grüße
    Robert

  2. Hallo Me,

    Nach erfolgloser recherche frag ich nun hier. Ich brauche ein JavaSript was nach einem Bestimmten Zeichen oder Wort einen Zeilenumbruch einbaut.

    Du möchtest also einen String aufteilen, auf Englisch split.

    Das Java Skript soll nach jeder "1" einen Zeilenumbruch machen hat wer eine Idee wie ich dies umsetzen kann?

    Die Idee ist oben verlinkt – und ich habe auch noch eine Idee: Die Verwendung von Satzzeichen erleichtert denjenigen, die dir helfen möchten, das Lesen deiner Frage.

    Viele Grüße
    Robert

    1. Hallo Robert B.,

      Du möchtest also einen String aufteilen, auf Englisch split.

      Oder (HTML-Kontext vorausgesetzt) jede " 1" durch " 1<br>" ersetzen.

      Bis demnächst
      Matthias

      --
      Du kannst das Projekt SELFHTML unterstützen,
      indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
      1. @@Matthias Apsel

        Oder (HTML-Kontext vorausgesetzt) jede " 1" durch " 1<br>" ersetzen.

        Wirklich jede?

        <p>
          Das ist Test Nummer 1
          <small style="font-size: 1em">(Jane Roe, CC BY-SA 4.0)</small>
        </p>
        

        😷 LLAP

        --
        Wenn der Faschismus wiederkehrt, wird er nicht sagen: „Hallo, ich bin der Faschismus.“ Er wird sagen: „Hört auf zu zählen! Ich habe gewonnen!“
        1. Hallo Gunnar,

          1
          em
          

          liest sich dann auch wie

          1
          ähm …?
          

          Viele Grüße
          Robert

        2. Hallo,

          Oder (HTML-Kontext vorausgesetzt) jede " 1" durch " 1<br>" ersetzen.

          Wirklich jede?

          <p>
            Das ist Test Nummer 1
            <small style="font-size: 1em">(Jane Roe, CC BY-SA 4.0)</small>
          </p>
          

          Sollst du Inlinestyles einsetzen?

          <p>
            Das ist Test Nummer 1
            <small class="kleineSchrift_1">(Jane Roe, CC BY-SA 4.0)</small>
          </p
          

          Gruß
          Kalk

          1. @@Tabellenkalk

            Sollst du Inlinestyles einsetzen?

            Nö. Das war aber das erste Beispiel, was ich an den Haaren herbeiziehen konnte, wo ' 1' im Attributwert vorkommt.

            Bei dir tut es das nicht:

              <small class="kleineSchrift_1">(Jane Roe, CC BY-SA 4.0)</small>
            

            Und wenn ich jetzt mit class="0 8 15" ankomme, fragst du: Sollst du Klassenbezeichner mit Ziffer am Anfang einsetzen?

            😷 LLAP

            --
            Wenn der Faschismus wiederkehrt, wird er nicht sagen: „Hallo, ich bin der Faschismus.“ Er wird sagen: „Hört auf zu zählen! Ich habe gewonnen!“
            1. Hallo miteinander,

              Sollst du Inlinestyles einsetzen?

              Nö.

                <small class="kleineSchrift_1">(Jane Roe, CC BY-SA 4.0)</small>
              

              Aber sollst du denn Klassennamen nach dem gewünschten Aussehen wählen? :-P

              Live long and pros healthy,
               Martin

              --
              Versuchungen sollte man nachgeben. Wer weiß, ob sie wiederkommen.
              1. Hi there,

                Sollst du Inlinestyles einsetzen?

                Nö.

                  <small class="kleineSchrift_1">(Jane Roe, CC BY-SA 4.0)</small>
                

                Aber sollst du denn Klassennamen nach dem gewünschten Aussehen wählen? :-P

                Aha, der Beckmesser wird beckgemessen...😉

    2. @@Robert B.

      und ich habe auch noch eine Idee: Die Verwendung von Satzzeichen erleichtert denjenigen, die dir helfen möchten, das Lesen deiner Frage.

      Die Verwendung von Satzzeichen erleichtert denjenigen, die deine Website besuchen, das Lesen deiner Inhalte.

      Das ist Test Nummer 1. Das ist Test Nummer 1. Das ist Test Nummer 1.

      Und dann stellt sich die Frage, ob es klug ist, nach den Einsen Zeilenumbrüche einzufügen.

      😷 LLAP

      --
      Wenn der Faschismus wiederkehrt, wird er nicht sagen: „Hallo, ich bin der Faschismus.“ Er wird sagen: „Hört auf zu zählen! Ich habe gewonnen!“
      1. Hi,

        Und dann stellt sich die Frage, ob es klug ist, nach den Einsen Zeilenumbrüche einzufügen.

        ist doch ein 0-8-15-Fall 😉

        cu,
        Andreas a/k/a MudGuard

  3. Das Java Skript soll nach jeder "1" einen Zeilenumbruch machen

    Es wurde ja schon diskutiert, ob das (immer) sinnvoll ist.

    Ein dutzend sind 12 Stück

    Du hattest aber nicht nach dem Sinn, sondern nach der Technik gefragt. Da ist die Ziffer 1 also mehrfach durch 1<br> (für HTML) oder 1\n (für sonstige Texte) zu ersetzen:

    var text  = "Das ist Test Nummer 1 Das ist Test Nummer 2 Das ist Test Nummer 1";
    var text2 = text.replace( /\s/g, "°" );     // Leerzeichen (space) sichtbar machen
    var text3 = text2.replace( /1/g, "1\n" );     // 1 ersetzen
    document.write( "<pre>" +text +"</pre>" );
    document.write( "<pre>" +text2 +"</pre>" );
    document.write( "<pre>" +text3 +"</pre>" );
    

    Ausgabe:

    Das ist Test Nummer 1 Das ist Test Nummer 2 Das ist Test Nummer 1
    
    Das°ist°Test°Nummer°1°Das°ist°Test°Nummer°2°Das°ist°Test°Nummer°1
    
    Das°ist°Test°Nummer°1
    °Das°ist°Test°Nummer°2°Das°ist°Test°Nummer°1
    
    

    Auch nach der letzten 1 erfolgt noch ein Zeilenumbruch.

    Linuchs

    1. Hallo Linuchs,

      gut, dass Du bemerkt hast, dass die Frage im Getöse der Sinndiskussion untergegangen ist. Me schrieb "Zeichen oder Wort" - d.h. die 1 war eh nur ein Beispiel.

      Mein Nachtrag deshalb: Das Suchen mit regulären Ausdrücken ist nicht auf Einzelzeichen beschränkt. Man kann damit auch Worte oder komplexere Muster suchen.

      Der gemeine Tyrannosuchus Regex ist allerdings ein recht störrisches Biest, deswegen der Link. Er verweist auf den Glossar-Eintrag in unserem Wiki, von dort führen viele Links weiter. Zum Regex-Artikel in unserem Wiki, und zu externen Tutorials und Online-Tools. Meine Lieblingstools sind regex101.com (für JavaScript und PHP) und regexstorm.net (für reguläre Ausdrücke im .net Framework).

      Rolf

      --
      sumpsi - posui - obstruxi
      1. @@Rolf B

        gut, dass Du bemerkt hast, dass die Frage im Getöse der Sinndiskussion untergegangen ist.

        Falsch. Das „Getöse“ dient dazu, erstmal die Anforderungen zu klären.

        Mir scheint, Linuchs’ Beitrag geht ziemlich an den Anforderungen vorbei. (Deshalb hab ich die Anzahl der Positivbewertungen reduziert.)

        Anforderung ist nicht, die Textfragmente im JavaScript zu pflegen. So wie ich das sehe, geht es darum, im bestehenden DOM Änderungen vorzunehmen. Ansonsten wäre ja nicht clientseitiges JavaScript, sondern eine serverseitige Technik (PHP, …) das Mittel der Wahl.

        Was also zu tun ist: eine Funktion zu schreiben, die auf einem Elementknoten arbeitet und dessen Kindknoten durchgeht. Je nach Typ:

        • bei allen Textknoten gewünschte Zeilenumbrüche einfügen
        • auf alle Elementknoten diese Funktion rekursiv aufrufen

        Ein TreeWalker dürfte sich da anbieten.

        😷 LLAP

        --
        Wenn der Faschismus wiederkehrt, wird er nicht sagen: „Hallo, ich bin der Faschismus.“ Er wird sagen: „Hört auf zu zählen! Ich habe gewonnen!“
        1. Hallo Gunnar,

          Das „Getöse“ dient dazu, erstmal die Anforderungen zu klären.

          Jetzt verstehe ich, warum das HTML Wiki meistens nur zweite oder dritte Wahl beim Lösen eines Problems ist. Es ist ja auch in der allwissenden Müllhalde selten ganz vorne. Oft suche ich nach der Syntax von PHP, Javascript, HTML, CSS. Wieviel Parameter müssen in welcher Reihenfolge angegeben werden?

          Danke an meinen Texteditor Geany, der das knapp und präzise leistet:

          Ich bin gebranntes Kind. Als kleiner Bub hatte ich natürlich Fragen an meinen Vater, um die Welt zu verstehen. Der - vermutlich weil er Lehrersohn war - war nicht in der Lage, die Frage zu verstehen und zielgerichtet zu antworten. Oder weil er Bauingenieur war und sich gedanklich nicht vom (sicherlich wichtigen) Fundament lösen konnte.

          Er begann immer wieder bei Adam und Eva. Bis ich schließlich aufhörte, ihn zu fragen.

          Im Berufsleben hatte ich immer wieder Fragen / Probleme zügig zu lösen. Kein Mensch wollte mich auf dem Lösungsweg begleiten, sondern Lösungen sehen.

          Vor lauter Grundlagen-Diskussion bemerkt keiner, dass sich der Fragesteller längst ausgeklinkt hat. Ich kann ihn nur zu gut verstehen, wenn heiße Luft zwischen Insidern hin- und hergeblasen wird.

          Linuchs

        2. Hallo Gunnar,

          erstmal die Anforderungen klären

          Der Anfang des Getöses, ja. Wobei die allererste Reaktion war, die Rechtschreibung des OP zu korrigieren, eine sehr herzliche Form der Begrüßung...

          Aber ja, man müsste schon wissen, wo der String herkommt und was damit passieren soll, um sicherzustellen, dass die Lösung im Kontext des OP Sinn ergibt. Aber müssen wir das? Man kann Vorbehalte nennen, man kann nach dem Kontext fragen, aber zuallererst ist da doch mal ein Mensch mit einer konkreten Frage. Die kann man beantworten, was Linuchs nachgeholt hat, und die Probleme dazu ansprechen.

          Dein Vorschlag eines Treewalkers kann angemessen sein, aber ob das zum Kontext des Fragestellers passt oder von Professor Rott entwickelt wurde, weißt Du auch nicht. Woher auch. Er ist ja ehrfürchtig (oder entsetzt?) verstummt.

          Rolf

          --
          sumpsi - posui - obstruxi
          1. Hallo,

            Wobei die allererste Reaktion war, die Rechtschreibung des OP zu korrigieren,

            Das stimmt nicht wirklich. Es ging nicht um Rechtschreibung, sondern um die Darstellung hier im Forum.

            Gruß
            Kalk

          2. Hallo Rolf,

            erstmal die Anforderungen klären

            Der Anfang des Getöses, ja. Wobei die allererste Reaktion war, die Rechtschreibung des OP zu korrigieren, eine sehr herzliche Form der Begrüßung...

            Das stimmt nichtwirklich.

            Und ich habe seitdem nichts mehr zum Thema geschrieben, weil der OP uns nicht sagt, was genau seine Anforderung ist.

            Viele Grüße
            Robert

            1. n'Abend Robert,

              Der Anfang des Getöses, ja. Wobei die allererste Reaktion war, die Rechtschreibung des OP zu korrigieren, eine sehr herzliche Form der Begrüßung...

              Das stimmt nichtwirklich.

              das Veto kann ich gern akzeptieren.

              Und ich habe seitdem nichts mehr zum Thema geschrieben, weil der OP uns nicht sagt, was genau seine Anforderung ist.

              Ich habe den Eindruck, das ist mal wieder so ein Fall, wo jemand eine Frage stellt (übrigens als nicht registrierter Nutzer), sich dann aber nicht wieder blicken lässt.
              Er/sie darf mich gern Lügen strafen und sich doch noch einmal melden.

              Ob derjenige sich durch den Ton oder die Umgangsformen hier abgeschreckt fühlt?
              Keine Ahnung. Aber der Verdacht drängt sich auf.

              Live long and pros healthy,
               Martin

              --
              Versuchungen sollte man nachgeben. Wer weiß, ob sie wiederkommen.
              1. Hallo, Um es nocheinmal richtig zu erklären:

                Das Skript soll einen Text bearbeiten (umändern), es soll zum Preprocessing dienen.

                function (value) {......}

                In die klammer muss nun der Befehl rein welchen ich nicht kenne. Habe zwar schon ein paar ausprobiert jedoch haben diese nicht funktioniert.

                Wenn die Informationen nicht ausreichen kann ich geren nochmal den gesammten Aufbau schildern.

                MfG

                1. Moin Me,

                  Wenn die Informationen nicht ausreichen kann ich geren nochmal den gesammten Aufbau schildern.

                  das wäre sehr sinnvoll.

                  Viele Grüße
                  Robert

                  1. So,

                    Um es kurz zu fassen:

                    Ein Skript schickt Daten an deinen monitoring Server ungeordnet hintereinander weg geschrieben. Nun gib es die möglichkeit mit dem sogenannten Preprocessing über ein Javaskript diese Ausgabe noch zu ordnen bzw. zu ändern.

                    Vorgegeben ist: function (value) {...}

                    In {} kann man nun sein Javaskript schreiben.

                    Also soll diese Skript bei jeder (in meinem Fall eine 3) die immer am ende jeder Zeile steht, ein Zeilenumbruch einfügen.

                    Nun die Frage gibt es da eine einfache möglichkeit wenn ja welche?

                    MfG

                    1. Hallo Me,

                      hast du die anderen Beiträge in diesem Thread gelesen?

                      Bis demnächst
                      Matthias

                      --
                      Du kannst das Projekt SELFHTML unterstützen,
                      indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
                      1. Hallo,

                        Ja habe ich ist aber nicht das was ich brauch liegt warscheinlich daran das ich meine Frage nicht richtig formuliert habe!

                        MfG

                    2. Hallo Me,

                      also eine Schul-/Studienaufgabe. Das Script würde - wenn man es wirklich einsetzte - nicht im Browser laufen, sondern in einem Server. Vielleicht ein node.js Server.

                      Ich nehme an, dass Du gute Gründe hast, warum sich gerade die 3 eignet. Irgendein Trenner muss ja da sein, weil eine Aufteilung des Datenstroms in Datenblöcke nicht möglich ist, aber warum gerade die 3? Beobachtest Du das in den Testdaten? Oder wurde das auch vorgegeben?

                      Der Nutzen der Angelegenheit ist immer noch fraglich, es wäre z.B. viel sinnvoller, die aneinandergeklebten Datenblöcke in ein Array zu separieren, aber es geht nicht um Nutzen, sondern um eine an den Haaren herbeigezogene Übung für String-Operationen, wie ich das sehe.

                      Linuchs schrieb am 17.11. - und ich denke, das ist genau das, was Du brauchst:

                      var text3 = text2.replace( /3/g, "3\n" );     // 3 ersetzen
                      

                      replace ist eine Methode von JavaScript Strings und ersetzt Texte. Der erste Parameter ist ein String oder ein regulärer Ausdruck, der den zu ersetzenden Text beschreibt. Der zweite Parameter ist das, was dafür ersetzt werden muss.

                      Das Ergebnis des replace kann die Funktion dann zurückgeben. Es sei denn, du hast noch weitergehende Aufgaben, was die Funktion mit dem Ergebnis tun soll. Aber da Du uns nur eine dürre, abstrakte Aufgabe hinkopierst und einen leeren Funktionsrahmen, entzieht sich das unserer Kenntnis.

                      Wenn das eine Lernaufgabe für Dich ist, wäre es nun dein Job, in einschlägigen Unterlagen nachzulesen und Dir zu erarbeiten, was replace und reguläre Ausdrücke genau tun, und wann man als 1. Parameter einen String nehmen kann und wann man einen regulären Ausdruck braucht.

                      Rolf

                      --
                      sumpsi - posui - obstruxi
                      1. @@Rolf B

                        Ich nehme an, dass Du gute Gründe hast, warum sich gerade die 3 eignet.

                        Mit der Annahme wäre ich äußerst vorsichtig. Ich nehme eher an, dass in den Daten auch andere Dreien vorkommen können. Da wäre die Frage zu klären: Wie unterscheiden sich die Dreien, nach denen umbrochen werden soll, von denen, nach welchen nicht umbrochen werden soll?

                        var text3 = text2.replace( /3/g, "3\n" );     // 3 ersetzen
                        

                        Das hat je nach Wert der CSS-Eigenschaft white-space den gewünschten oder auch gar keinen sichtbaren Effekt.

                        😷 LLAP

                        --
                        Wenn der Faschismus wiederkehrt, wird er nicht sagen: „Hallo, ich bin der Faschismus.“ Er wird sagen: „Hört auf zu zählen! Ich habe gewonnen!“
                        1. Hallo Gunnar,

                          Du hast die Aufgabe gelesen? Es geht nicht um HTML. Es geht um einen JS Worker.

                          Rolf

                          --
                          sumpsi - posui - obstruxi
                    3. Also soll diese Skript bei jeder (in meinem Fall eine 3) die immer am ende jeder Zeile steht, ein Zeilenumbruch einfügen.

                      Sehr seltsame Aufgabe. Habe ich das jetzt richtig verstanden, dass jede Ziffer 3 gesucht wird, der bereits ein Zeilenumbruch folgt?

                      Was soll nun mit der 3 passieren? Jetzt ist nicht mehr die Schreibe davon, dass sie ersetzt werden soll sondern (davor oder danach?) ein weiterer Zeilenumbruch einzufügen ist.

                      Liest sich für mich so, als möchtest du uns mit Beschäftigungstherapie unterhalten.

                      Linuchs

                      1. Hallo Linuchs,

                        dass hinter der 3 bereits ein Zeilenumbruch ist, habe ich nicht herausgelesen. Wer gibt für ein Missverständnis ein + ?

                        Rolf

                        --
                        sumpsi - posui - obstruxi
                        1. Hallo,

                          dass hinter der 3 bereits ein Zeilenumbruch ist, habe ich nicht herausgelesen.

                          ich auch nicht.

                          Wer gibt für ein Missverständnis ein + ?

                          Eins ist von mir. Für das Erkennen der Beschäftigungstherapie.

                          Live long and pros healthy,
                           Martin

                          --
                          Versuchungen sollte man nachgeben. Wer weiß, ob sie wiederkommen.
                          1. Hallo,

                            wir hatten die gleichen Gedanken.

                            Viele Grüße
                            Robert

                        2. Hallo Rolf,

                          dass hinter der 3 bereits ein Zeilenumbruch ist, habe ich nicht herausgelesen.

                          Me: „Also soll diese Skript bei jeder (in meinem Fall eine 3) die immer am ende jeder Zeile steht, ein Zeilenumbruch einfügen.”

                          Wenn etwas am Zeilenende steht, was kann wohl danach kommen?

                          Gut. die letzte Zeile einer Datei ist die Ausnahme.

                          1. Hallo Linuchs,

                            Auch Me:

                            Ein Skript schickt Daten an deinen monitoring Server ungeordnet hintereinander weg geschrieben.

                            Das, was Du zitierst, lese ich als "die 3 markiert die Stelle wo ein Datenblock endet und ein Umbruch einzufügen ist, so dass die 3 dann am Ende der Zeile steht.".

                            Angesichts der intensiven Mitarbeit und wohlformulierten Aussagen von Me fühle ich mich hier ganz wie im Büro. Frei nach Ralf Bendix:

                            Rate, Rate, Software baue,
                            und net nach den Koste schaue
                            Und wenn des Progrämmsche steht
                            Dann gibt's noch keine Ruh'
                            Denn der Kunde meckert dann nur rum
                            weil's ganz was andres tut.

                            Rolf

                            --
                            sumpsi - posui - obstruxi
                            1. Hi,

                              Angesichts der intensiven Mitarbeit und wohlformulierten Aussagen von Me fühle ich mich hier ganz wie im Büro. Frei nach Ralf Bendix:

                              Rate, Rate, Software baue,
                              und net nach den Koste schaue
                              Und wenn des Progrämmsche steht
                              Dann gibt's noch keine Ruh'
                              Denn der Kunde meckert dann nur rum
                              weil's ganz was andres tut.

                              Denn der Kunde meckert immerzu,
                              weil es ganz was andres tät.

                              (für besseres Reimen - aabccb statt aabcde ...)

                              cu,
                              Andreas a/k/a MudGuard

                              1. Hallo Andreas,

                                für besseres Parodieren blicken wir zu Herrn Bendix und finden: aa bd cd.

                                Meine d sind grenzwertig: Ruh und tut, aber ich wollte Zeile 4 gerne aus der Vorlage 1:1 übernehmen.

                                Bei der Version ist die Wortstellung arg gezwungen:

                                Dann gibt's noch keine Ruh'
                                Denn der Kunde meckert dann nur rum
                                er wollt' nicht was es tu

                                oder man verändert die Zeile, die ich 1:1 behalten wollte:

                                Dann gibt es noch kein Ruhn
                                ... es sollt was andres tun

                                Rolf

                                --
                                sumpsi - posui - obstruxi