Wimpy: Array +Text mit Zahl -> Zahl auslesen

Hallo,

ich habe ein Array wo ich z.B. Folgende Werte Habe

"Name", "Vorname", "Unterschrift200"

Jetzt möchte von den Werten die eine Zahl am Ende stehen haben, diese Zahl in eine Variable schreiben.

Wie mache ich das? Ist das mit slice() möglich?

Über eine kurze Antwort würde ich mich freuen.

Danke, Wimpy

  1. @@Wimpy:

    Jetzt möchte von den Werten die eine Zahl am Ende stehen haben, diese Zahl in eine Variable schreiben.

    Mir Zahl meinst du eine Zeichenkette, die ausschließlich aus Ziffern besteht?

    Wie mache ich das?

    Mit einem regulärem Ausdruck: beliebig viele irgendwelche Zeichen; dann ein Zeichen, das keine Ziffer ist; dann beliebig viele Ziffern (die du dir merken willst); unmittelbar danach das Ende der Zeichenkette.

    Ist das mit slice() möglich?

    Nein, dazu müsstest du ja die Position des ersten zu extrahierenden Zeichens in der Zeichenkette kennen.

    Über eine kurze Antwort würde ich mich freuen.

    Kurz genug?

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
    1. @@Gunnar Bittersmann:

      Wie mache ich das?

      Mit einem regulärem Ausdruck […]

      Und dann natürlich die extrahierte Zeichenkette in eine Zahl umwandeln.

      (Da mir das selbstverständlich erschien, vergaß ich es glatt zu erwähnen.)

      Live long and prosper,
      Gunnar

      --
      „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
    2. Ah stimmt,

      müsste dann in etwa so aussehen:

      var Ausdruck = /\d+$/;

      for (i = 0; i < AusgewaehlteElemente.length; i++){

      Ausdruck.exec(AusgewaehlteElementeValue[i]);

      alert(RegExp);
          }

      Will mal sehen ob es so geht. Danke!

      1. @@Wimpy:

        Ah stimmt,

        müsste dann in etwa so aussehen:

        var Ausdruck = /\d+$/;

        Hm, ja, so einfach geht’s.

        Da reg. Ausdrücke in JavaScript gierig sind, sollte das reichen, „beliebig viele irgendwelche Zeichen; dann ein Zeichen, das keine Ziffer ist“ vorher ist nicht nötig. Und „die du dir merken willst“ (Klammerung) ist hier auch nicht nötig.

        Ausdruck.exec(AusgewaehlteElementeValue[i]);
               alert(RegExp);

        Will mal sehen ob es so geht. Danke!

        Nee, so nicht.

        Das Ergebnis von 'Ausdruck.exec(AusgewaehlteElementeValue[i])' solltest du dir in einer Variblen merken:

        var foo = Ausdruck.exec(AusgewaehlteElementeValue[i]);

        Dieses Ergebnis ist ein Array; davon interessiert dich 'var foo[0]'.

        Live long and prosper,
        Gunnar

        PS: In die Runde gefragt: Gist es einen Unterschied zwischen 'ausdruck.exec(string)' und 'string.match(ausdruck)'?

        --
        „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
        1. PS: In die Runde gefragt: Gist es einen Unterschied zwischen 'ausdruck.exec(string)' und 'string.match(ausdruck)'?

          Nee, String.prototype.match ruft intern RegExp.prototype.exec auf.
          http://bclary.com/log/2004/11/07/#a-15.5.4.10

          Mathias

          1. @@molily:

            PS: In die Runde gefragt: Gist es einen Unterschied zwischen 'ausdruck.exec(string)' und 'string.match(ausdruck)'?

            Nee, String.prototype.match ruft intern RegExp.prototype.exec auf.
            http://bclary.com/log/2004/11/07/#a-15.5.4.10

            Danke.

            Könnte IMHO ruhig in SELFHTML erwähnt werden, dass beides äquivalent ist. Damit sich nicht noch wer darüber wundert ...

            Ist das einen Eintarg in den Bugtracker wert?

            Live long and prosper,
            Gunnar

            --
            „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
            1. Ist das einen Eintarg in den Bugtracker wert?

              Ja.

          2. @@molily:

            Nee, String.prototype.match ruft intern RegExp.prototype.exec auf.
            http://bclary.com/log/2004/11/07/#a-15.5.4.10

            Das heißt, 'ausdruck.exec(string)' ist ein paar Prozessortakte schneller als 'string.match(ausdruck)'?

            Ich finde die zweite Variante 'string.match(ausdruck)' intuitiver: Man hat ein String-Objekt und macht etwas mit diesem (etwas darin suchen), wendet also eine Methode darauf an, wobei der Suchausdruck Parameter dieser Methode ist.

            In der ersten Variante 'ausdruck.exec(string)' erkenne ich keinen Sinn.

            Live long and prosper,
            Gunnar

            PS. Eintrag in Bugtracker erledigt.

            --
            „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)