Zum Beispiel, wenn ich "ds.35bdg56" tippte, würde die Funktion 35 zurückgeben. Gibt es eine vorgefertigte Funktion für so etwas oder muss ich die Zeichenfolge durchlaufen, finde die erste Zahl und sehe, wie lange es geht und dann das zurückgeben?(Ruby) Gibt es eine Funktion, um die erste Zahl in einer Zeichenfolge leicht zu finden?
Antwort
>> 'ds.35bdg56'[/\d+/]
=> "35"
Oder, da sie eine Funktion fragen haben ...
$ irb
>> def f x; x[/\d+/] end
=> nil
>> f 'ds.35bdg56'
=> "35"
Sie wirklich etwas Spaß mit diesem haben könnte:
>> class String; def firstNumber; self[/\d+/]; end; end
=> nil
>> 'ds.35bdg56'.firstNumber
=> "35"
Das funktioniert, aber es geht darum mehr menschliche Eingabe und Computerverarbeitung als nötig. Viel einfacher, das Ding herauszupicken, als Sie alle Sachen ersetzen wollen, die Sie nicht wollen! –
Ok, aktualisiert. Guter Vorschlag. – DigitalRoss
text = "ds.35bdg56"
x = /\d+/.match(text)
puts x #will return 35 (i hope this helps)
Reiniger als die anderen Lösungen. Wenn du es als Integer willst, brauchst du '/ \ d + /. Match (text) [0] .to_i'. –
oder wenn Sie eine Zeichenfolge möchten, fügen Sie '.to_s' hinzu. Wie es ist, gibt es ein * MatchData * -Objekt zurück. – DigitalRoss
x wird der String '" 35 "' wenn Sie den Integer-Wert wollen, versuchen Sie 'x.to_i' – rampion
text[/\d+/].to_i
- 1. Regex, um eine ganze Zahl innerhalb einer Zeichenfolge zu finden
- 2. Regex, um eine Zahl in einer Zeichenfolge zu finden
- 3. Gibt es eine Radix-Funktion in Ruby?
- 4. Finden Sie die erste Folge von Zahlen in einer Zeichenfolge?
- 5. gibt es eine PHP-Funktion, um eine mittlere Zeichenfolge zu finden?
- 6. In SQL Server können Sie die erste Zahl in einer Zeichenfolge finden?
- 7. Gibt es eine eingebaute Funktion, um eine Zahl in bestimmten Bereich in Python zu halten?
- 8. Eine gegebene Zahl ändern, um die erforderliche Summe zu finden?
- 9. Gibt es irgendeine Funktion, um eine UNIQUE Zeichenkette oder UNIQUE Zahl zu erzeugen?
- 10. Gibt es eine Möglichkeit, die Pixellänge einer Zeichenfolge zu berechnen?
- 11. Algorithmus, um eine Quadratwurzel einer Zahl zu finden?
- 12. Gibt es eine eingebaute oder mehr Pythonic Weg zu versuchen, eine Zeichenfolge zu einer ganzen Zahl zu analysieren
- 13. Gibt es eine C-Funktion, um die Verzeichnisberechtigung zu erhalten?
- 14. Wie wandle ich eine ganze Zahl in eine Zeichenfolge um?
- 15. gibt es eine Funktion in C oder C++ zu tun "Sättigung" auf einer ganzen Zahl
- 16. Gibt es in Python eine Funktion, um einen String zu teilen, ohne die Leerzeichen zu ignorieren?
- 17. Eine Funktion zu finden, wenn eine gegebene Zahl ist prime
- 18. Grep die erste Zahl in einer Linie
- 19. Gibt es eine PHP-Funktion, um eine Abfrage-Zeichenfolge in ein Array zu konvertieren?
- 20. isInfixOf und eine Zeichenfolge in einer Zeichenfolge zu finden
- 21. leicht zu finden und jedes Spiel in einer verschachtelten Liste
- 22. Delphi: Gibt es eine RTL-Funktion, um die Akzente aus einer Zeichenkette zu entfernen?
- 23. Gibt es eine Perl-Verknüpfung, um die Anzahl der Übereinstimmungen in einer Zeichenfolge zu zählen?
- 24. Ruby Regex Suchen und Ersetzen einer Zahl innerhalb einer Zeichenfolge
- 25. Postgres Abfrage, um eine Zeichenfolge zu überprüfen, ist eine Zahl
- 26. Javascript finden Zeichenfolge Funktion
- 27. R extrahiere die erste Zahl aus der Zeichenfolge
- 28. Gibt es eine R-Funktion, um eine Zeichenfolge für Regex-Zeichen zu entkommen
- 29. Schreiben in eine Datei + Dateiname ist eine Zeichenfolge, die leicht
- 30. Gibt es ein CPAN-Modul, das eine kurze Zeichenfolge zu einer kurzen Zahl verdaut?
Was soll ' ds-35bdg56 'auflösen? Oder kann das einfach nicht passieren ... – DigitalRoss
sollte auf 35 (keine Negative) auflösen – sepiroth
Nur ganze Zahlen, oder sollten Dezimalpunkte unterstützt werden (dh soll "ab3.5cd" 3 oder 3.5 zurückgeben?) –