Come Python? Sto provando a controllare se ogni carattere in una stringa è alfanumerico o no?Non ha Ruby isalpha?
risposta
C'è una classe di carattere speciale per questo:
char.match(/^[[:alpha:]]$/)
Questo dovrebbe corrispondere a un singolo carattere alfabetico. Sembra funzionare anche per UTF-8.
Per testare un'intera stringa:
string.match(/^[[:alpha:]]+$/)
Tenete a mente questo non tiene conto per gli spazi o segni di punteggiatura.
Grazie. Credo che in Ruby, devi ricorrere all'utilizzo di RegEx. – sivabudh
Si può sempre aggiungere un metodo 'String # isalpha? 'Se si preferisce quello stile come suggerisce Sergio. – tadman
Non so come sia la risposta corretta. [[: alpha:]] è per alfabeti mentre l'OP ha richiesto un controllo per caratteri alfanumerici. –
È possibile eseguire il rollover :) Sostituire alnum
con alpha
se si desidera associare solo lettere, senza numeri.
class String
def alpha?
!!match(/^[[:alnum:]]+$/)
end
end
'asdf234'.alpha? # => true
'[email protected]#$'.alpha? # => false
La funzione python funziona solo per caratteri ASCII; il [[:: alnum]] regex farebbe cose come "tëst" .alpha? => vero. match/\w/
partite sottolinea, in modo che lascia
def isalpha(str)
!str.match(/[^A-Za-z]/)
end
per riprodurre il problema Python.
- 1. isalpha (<mychar>) == true restituisce false?
- 2. Ruby ha mkdir -p?
- 3. Perché Ruby ha Numeric.new?
- 4. codice Ruby ha spiegato
- 5. Ruby ha variabili atomiche?
- 6. Perché Ruby non ha un built-in ThreadPool?
- 7. Ruby on Rails 5 - TurboLink 3 non ha funzionato correttamente
- 8. Lua non ha qualcosa di paragonabile a method_missing di Ruby?
- 9. Ruby ha Skip (n) come C#?
- 10. Ruby ha classi di formattazione numeriche?
- 11. Psych :: SyntaxError non ha potuto analizzare YAML
- 12. Il rubino non ha valori costanti?
- 13. Metodo non definito ogni Ruby
- 14. ruby DataMapper non caricherà
- 15. Ruby: metodo non definito `> '
- 16. Qualcuno ha implementato correttamente un progetto Rails con Ruby 1.9.1?
- 17. Ruby ha qualcosa di simile a buildout o virtualenv?
- 18. Ruby ha $! mantenere il valore solo nel blocco di salvataggio?
- 19. Ruby/Regex Errore: avviso: classe di caratteri ha campo duplicato
- 20. Ruby GUI (layout non complessi)
- 21. Python ha una funzione "o uguale a" come || = in Ruby?
- 22. Ruby ha qualcosa come la comprensione delle liste di Python?
- 23. Ruby 2.2 ha problemi di memoria su Heroku?
- 24. Tcl ha un equivalente del PERL e del sottotitolo Ruby
- 25. Ruby ha un equivalente a TimeSpan in C#?
- 26. L'espressione regolare di Ruby ha un operatore non corrispondente come "! ~" In Perl?
- 27. Ruby ha un equivalente method_missing per le variabili di istanza non definite?
- 28. Ruby Koans non è compatibile con Ruby 2.0.0?
- 29. non ha attributo 'clean_data'
- 30. non ha attributo 'get'
Ho provato su Google ma non ho trovato nulla. Quindi volevo solo confermare con SO. – sivabudh
È possibile utilizzare espressioni regolari per questo. –
Ok, grazie Sergio. – sivabudh