stefansvw: replace()

Hallo,

ich möchte jede Raute in einem String durch ein Zeilenumbruch ersetzen. Was mache ich hier falsch. Es ist mehr oder wenig eine endlosschleife.

kommentar = v_Rpobjact.search(/#/);      // suche nach #
  while(kommentar != -1)                  // wenn vorhanden
   {
    werte = v_Rpobjact.replace(/#/,"<BR>");   // ersetzen dur br
    kommentar = v_Rpobjact.search(/#/);       // noch # vorhanden?
   }

ausgabe

...<td>"+ werte +"</td>...

viele grüße
stefan

  1. Hi,

    ich möchte jede Raute in einem String durch ein Zeilenumbruch ersetzen. Was mache ich hier falsch.

    Mehrere Sachen.

    Es ist mehr oder wenig eine endlosschleife.

    Na ja, das kommt wohl daher, dass du den Wert, in dem du einmal eine Raute ersetzt hast, gar nicht weiterverwendest - und anschliessend wieder fragst, ob im *Original* noch immer eine Raut vorhanden ist.

    Ausserdem ist es unsinnig, dass in einer Schleife zu machen, in der man jeweils ein Auftreten des Suchmusters ersetzt - wenn RegExp doch gleich *alle* auf einmal ersetzen kann. Dafuer ist das Flag g schliesslich da.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
  2. ich möchte jede Raute in einem String durch ein Zeilenumbruch ersetzen. Was mache ich hier falsch. Es ist mehr oder wenig eine endlosschleife.

    Wozu die Schleife?
    Du brauchst einfach nur den g modifier.

    var v_Rpobjact = "1#2#3#";  
    var kommentar = v_Rpobjact.replace(/#/g, '<br>');  
    alert(kommentar);
    

    Struppi.

    1. ich möchte jede Raute in einem String durch ein Zeilenumbruch ersetzen. Was mache ich hier falsch. Es ist mehr oder wenig eine endlosschleife.

      Wozu die Schleife?
      Du brauchst einfach nur den g modifier.

      var v_Rpobjact = "1#2#3#";

      var kommentar = v_Rpobjact.replace(/#/g, '<br>');
      alert(kommentar);

      
      >   
      > Struppi.  
        
      STIMMT, reguläre Ausdrücke dann klappt es danke Euch allen
      
  3. Hi stefansvw!

    ich möchte jede Raute in einem String durch ein Zeilenumbruch ersetzen.

    Standardmäßig wird nur die erste gefundene Zeichenfolge ersetzt. Um mit einem Aufruf von replace() alle Vorkommen zu ersetzen, müssen Sie den regulären Ausdruck mit dem g-Parameter notieren, z.B. /Zeichenfolge/g. [http://de.selfhtml.org/javascript/objekte/string.htm#replace@title=replace()]

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)