explofish: Javascript Pattern

Hallo!

ich habe folgenden String:

var text="a-1002-2-0-0-0-0";

nun brauche ich die Zahl 1002.

bei jedem String ist der Anfang "a-" immer gleich.

Ich brauche also einen js Code, der mir die Zahl von "a-" bis zum nächsten "-" liefert. Wie kann ich das angehen?

Vielen Dank schon einmal für eure Hilfe

  1. Hallo!

    var text="a-1002-2-0-0-0-0";

    nun brauche ich die Zahl 1002.

    bei jedem String ist der Anfang "a-" immer gleich.

    Das geht z.B: mit split falls Du alle durch den Separator '-' getrennten Teilstrings benötigst oder substr, falls nur der 2. Teilstring benötigt wird:

      
    var textS  =   "a-1002-2-0-0-0-0";  
    var dta    =	textS.split('-');  /* dta[1] enthält '1002' */  
    var subS   =    textS.substr(2,4)); /* subS enthält '1002' */  
    
    

    Im ersten Falle wird der String text anhand des Trennszeichens '-' aufgespaltet und die Teilstrings als Elemente im Array dta gespeichert.
    Fall 2 speichert den Teilstring ab der 3. Stelle von links (2, da bei 0 begonnen wird zu zählen) der Länge 4 in der Variablen subS.

    Ciao

    GG

    --
    "If I do not seek to understand what is happening here
    - then I've got peanuts in my head!"
    (I. Hosein)
  2. hi,

    Ich brauche also einen js Code, der mir die Zahl von "a-" bis zum nächsten "-" liefert. [...]

    Guy Gaz hat bereits zwei gute Möglichkeiten geliefert. Ich möchte noch eine dritte Vorschlagen, in dieser die Zahl auch gefunden wird, falls sich die gesuchte Zahl in einem anderen Fall nicht zwischen dem ersten und dem zweiten Bindestrich befindet, jedoch aber hinter dem a-. Ich verwende hierbei bewusst keine Regexe, da diese ja relativ Verarbeitungszeitaufwendig sind.

      
    var Zahl = '45456-a-1002-2-0-0-0-0';  
    Zahl = Zahl.slice(Zahl.indexOf('a-')+2);  
    Zahl = Zahl.slice(0,Zahl.indexOf('-'));  
    
    

    lg JeSchnell