Re: Element aus Liste löschen - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Sander (8133 Beiträge) am Mittwoch, 2.Mai.2001, 23:46.
    Re: Element aus Liste löschen

      Das könnte klappen - ist ja richtig schwierig ;-)
      Probier ich aber erst morgen. Danke

      bis jetzt hatte ich es so:

      get "Id==*","liste";
                    while (get_next(liste))
                    {
                          $"=" ";
                          @kat=split(/,/,$kat);  #Zahlenkolonne aus der db
                          
                          for (@kat)
                          {
                              push @Rubriken,$_ if $_ != $rub_id; # übergebener Wert, der verschwinden soll
                          }
                          $"=",";
                          #mod "Id==$_id",["kat","@Rubriken"],"liste";
                          out "modifiziere mit @Rubriken bei $_id<br>"; # hier lag dann ein Fehler
                          @Rubriken="";
                          @kat="";
                    }
      

      beim ersten durchgang von while get_next wurde alles perfekt gemacht. Ab dem 2ten Lauf hatte @Rubriken immer folgendes Aussehen: ,1,3,5,6 - also vorn ein Komma zuviel aber die Werte sonst stimmten. Beim mod wurde aber alles in den ersten DS geschrieben, meist nur Kommata.

      Morgen probier ich dein Vorschlag - bis dahin

      gute Nacht

      Sander


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Sander (8133 Beiträge) am Mittwoch, 2.Mai.2001, 22:20.
    Element aus Liste löschen

      Ich suche nach einer Möglichkeit aus einer Liste ein Element zu entfernen, das vorher als Variable übergeben wurde

      @liste=(1,3,4,6); die 3 soll zB extrahiert werden, sie kann in der Liste aber auch an einer anderen Stelle stehen. Wie ich ausfindig mache ob sie überhaupt vorhanden ist, weiß ich nun aber wie bekomme ich sie da raus?
      

      Sander

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Mittwoch, 2.Mai.2001, 22:35.
    Re: Element aus Liste löschen

      Hallo Sander,

      auf die Schnelle, überschreib sie halt einfach mit einem Pseudowert z.B. "?"

      Wenn ich noch was anderes finde melde ich mich

      Gruß
      Claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 2.Mai.2001, 22:49.
    Re: Element aus Liste löschen

      Danke für die schnelle Antwort.

      Der Wert soll irgendwie komplett verschwinden und das auch noch mit eventuellen Komma dahinter - blöd nur, das sie auch an letzter Stelle stehen kann wo es kein Komma gibt.
      Vieleicht gibts da ne möglichkeit mit suchen ersetzen?

      Die Liste war erst ein skalar der gewandelt wurde - war so mein Ansatz weil ich bei Regex kaum einen Plan habe.
      also so könnte es auch aussehen.
      $var = "1,4,5,6,14,46,76";
      

      wenn jetzt die 4 verschwinden sollte
      $var=~ s/,4,/,/.. findet sie nicht, wenn sie am Anfang oder am Schluß steht.
      $var=~ s/4,//.. würde auch die 14 finden.
      

      Ich seh bei den ganzen Möglichkeiten nicht durch.

      Sander

     Antworten

    Beitrag von Claus Christmeier (598 Beiträge) am Mittwoch, 2.Mai.2001, 23:26.
    Re: Element aus Liste löschen

      Hallo Sander,

      wie wär´s denn mit:

      $var = "1,4,5,6,14,46,76,";
      @array = split(/\,/, $var);
      
      %hash = ();
      foreach $array (@array)
             {
              $hash{$array} = 1;
             }
      
      ...
      ...
      $such = 4;
      if ($hash{$such})
        {
         $hash{$such} = 0;
         ...Verarbeitung vorhanden
        }
      else
        {
         ...Verarbeitung nicht vorhanden
        }
      

      Gruß
      Claus

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 2.Mai.2001, 23:46.
    Re: Element aus Liste löschen

      Das könnte klappen - ist ja richtig schwierig ;-)
      Probier ich aber erst morgen. Danke

      bis jetzt hatte ich es so:

      get "Id==*","liste";
                    while (get_next(liste))
                    {
                          $"=" ";
                          @kat=split(/,/,$kat);  #Zahlenkolonne aus der db
                          
                          for (@kat)
                          {
                              push @Rubriken,$_ if $_ != $rub_id; # übergebener Wert, der verschwinden soll
                          }
                          $"=",";
                          #mod "Id==$_id",["kat","@Rubriken"],"liste";
                          out "modifiziere mit @Rubriken bei $_id<br>"; # hier lag dann ein Fehler
                          @Rubriken="";
                          @kat="";
                    }
      

      beim ersten durchgang von while get_next wurde alles perfekt gemacht. Ab dem 2ten Lauf hatte @Rubriken immer folgendes Aussehen: ,1,3,5,6 - also vorn ein Komma zuviel aber die Werte sonst stimmten. Beim mod wurde aber alles in den ersten DS geschrieben, meist nur Kommata.

      Morgen probier ich dein Vorschlag - bis dahin

      gute Nacht

      Sander

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Donnerstag, 3.Mai.2001, 10:07.
    Re: Element aus Liste löschen

      wie wärs hiermit: ;-)

      $var=~ s/(^|,)4(,|$)/$1 && $2/ge;
      

      ^ passt auf anfang, $ auf ende
      $1 && $2 setzt das komma nur, wenn vor UND hinter der 4 eins ist, denn sonst ist sie am anfang oder am ende...
      

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 3.Mai.2001, 17:09.
    Re: Element aus Liste löschen

      supi, danke, funzt - wie kommt man auf sowas, ist mir echt etwas zu hoch ;-)

      Sander

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Freitag, 4.Mai.2001, 00:07.
    Re: Element aus Liste löschen

      Viel frisches Obst essen und ausreichend Bewegung ;-)

      Nö, sind halt regular expressions, da kann man schon ein paar jährchen mit lernen verbringen ;-)

     Antworten


     
 Liste der Einträge von 62701 bis 62851:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!