Wie Python? Ich versuche zu überprüfen, ob jedes Zeichen in einer Zeichenfolge alphanumerisch ist oder nicht?Hat Ruby keine Isalpha?
Antwort
Es gibt einen speziellen Zeichenklasse für diese:
char.match(/^[[:alpha:]]$/)
, dass ein einzelnes alphabetisches Zeichen übereinstimmen sollte. Es scheint auch für UTF-8 zu funktionieren.
eine ganze Reihe zu testen:
string.match(/^[[:alpha:]]+$/)
Denken Sie daran, diese für Leerzeichen oder Satzzeichen berücksichtigt nicht.
Danke. Ich denke, in Ruby müssen Sie RegEx verwenden. – sivabudh
Sie könnten immer eine 'String # isalpha?' Methode hinzufügen, wenn Sie diesen Stil bevorzugen, wie Sergio es vorschlägt. – tadman
Ich weiß nicht, wie das die richtige Antwort ist. [[: alpha:]] ist für Alphabete, während das OP um eine Überprüfung auf alphanumerische Zeichen gebeten hat. –
Sie können Ihre eigenen rollen :) Ersetzen Sie alnum
mit alpha
, wenn Sie nur Buchstaben ohne Zahlen übereinstimmen möchten.
class String
def alpha?
!!match(/^[[:alnum:]]+$/)
end
end
'asdf234'.alpha? # => true
'[email protected]#$'.alpha? # => false
Die Python-Funktion funktioniert nur für ASCII-Zeichen; die [[: alnum]] regex würde Dinge wie "tëst" α machen? => wahr. match/\w/
Begegnungen unterstreichen, so dass Blätter
def isalpha(str)
!str.match(/[^A-Za-z]/)
end
das Python-Verhalten zu reproduzieren.
- 1. Ruby hat keine konstanten Werte?
- 2. Python Isalpha() und Scandics
- 3. isalpha (<mychar>) == true ergibt false?
- 4. Hat Ruby Atomvariablen?
- 5. Warum hat Ruby Numeric.new?
- 6. Hat Ruby 1.9.3 Schlüsselwortargumente?
- 7. Verwendung der Isalpha-Funktion mit String-Pointern
- 8. Hat PHP Ruby Gem Bundler?
- 9. Hat Ruby eine eingebaute ... while?
- 10. schema_version hat keine Auswahlberechtigung?
- 11. Funktionsargument hat keine Art
- 12. 'datetime.time' hat keine 'mktime'
- 13. FragmentTransaction.remove hat keine Wirkung
- 14. hat keine Klassenart C++
- 15. RecyclerView hat keine Daten
- 16. Keine Ausgabe von Ruby-Programm
- 17. TDD, Ruby & handling keine Argumente
- 18. Python: Begrenzung der String-Länge bei der Verwendung von isalpha
- 19. Was ist der Unterschied zwischen isAlpha und isLetter?
- 20. Warum hat ActionScript keine "Generika"?
- 21. phpmyadmin hat keine mysql-Datenbank
- 22. Warum hat Map keine Kartenmethode?
- 23. Salesforce - Liste hat keine Zeilen
- 24. Xcode hat keine Frameworks einbetten
- 25. HTMLCanvasElement hat keine Methode 'toDataUrl'
- 26. Objekt hat keine Methode „charAt“
- 27. Grails 3 hat keine Verpackung?
- 28. Timeout hat keine Begrenzung? - HttpsURLConnection
- 29. Retargetting Lösung hat keine Auswirkung
- 30. Klasse hat keine Hauptmethode (Ampel)
Ich habe versucht zu googeln, aber habe nichts gefunden. Also wollte ich das nur mit SO bestätigen. – sivabudh
Sie können Regexes dafür verwenden. –
Okay, danke Sergio. – sivabudh