[Ruby] Ziffern & Aufeinanderfolgende Ziffern erkennen


neo2k8

Grünschnabel
Hallo,

ich möchte gerne in Ruby erst einmal erkennen, ob sich in einem String befinden.

Und dann würde ich noch gerne aufeinanderfolgende Ziffern erkennen.

Hat jemand vielleicht Lösungsansätze?

:google: hab ich leider schon ohne Ergebnis bemüht.
 

jeipack

Erfahrenes Mitglied
Hi
Dafür kannst du Regular Expressions benutzen.

RegEx in Ruby nutzen: http://www.regular-expressions.info/ruby.html

Tutorials zu RegEx findest du zu hauf im Inet.
Die ist nach schnellem Überfliegen ganz einfach gehalten:
http://www.traum-projekt.com/forum/...rials/27341-workshop-regular-expressions.html

Um herauszufinden ob min. eine Ziffer in einem String vorkommt:
Code:
^.*[1-9]+.*$
Dies kannst du nun nach und nach ausbauen.
Ob es bei einem String Objekt in Ruby aber schon eingebaute Funktionen für das hat weiss ich jetzt nicht.. Ansonsten kannst du den String auch als Charset durchlaufen und jeden Char einzeln prüfen.

Grüsse
 

jeipack

Erfahrenes Mitglied
So hab glaub ich was ganz gutes gefunden.
Im ersten Link von mir unter "Splitting Strings and Collecting Matches".
Code:
myarray = mystring.scan(/regex/)

damit könnte man sowas basteln:
Code:
myarray = mystring.scan(/[^0-9]+/)
Hab kein Ruby hier, aber ich denke das müsste den String aufspitten und alle Zahlen (also alle aneinanderhängenden Ziffern) in das Array speichern.

Bitte gib kurz Rückmeldung obs geklappt hat :)

Soweit bin ich gekommen: (getesstet on http://tryruby.hobix.com/)
>> myarray = "bl12ah34".scan(/[^a-z]+/)
=> ["12", "34"]

jetzt muss ich leider weg.

Viel Erfolg.
 
Zuletzt bearbeitet: