le numéro de chèque et supprimer les zéros non significatifs
Je veux vérifier une variable en ruby pour voir si il a deux zéros (00) Si elle ne l'00 doit être supprimé
Comment cela peut-il être fait
- Vous êtes à la recherche de garniture de deux zéros? ou tous les zéros en tête? Est-ce une date/heure variable ou une chaîne de caractères?
Vous devez vous connecter pour publier un commentaire.
Si vous parlez des chaînes:
La regex
/^00/
matches si la chaîne commence avec deux zéros.sub!
va alors prendre le match (les deux zéros) et de les remplacer par la chaîne vide./^0+/
Il est assez facile de convertir un entier et de les convertir en une chaîne de caractères:
ou, pour des flotteurs:
Integer("").to_s
-->ArgumentError: invalid value for Integer(): ""
.Integer("008").to_s
-->ArgumentError: invalid value for Integer(): "008"
OP clairement demandé la suppression de deux zéros, mais une note pour les autres qui sont intéressé par la suppression de tous les zéros en tête et pourrait ne pas être aussi fort dans les expressions régulières, vous pouvez le faire avec ceci à la place:
Le + est une regex caractère spécial qui s'applique à 1 ou plus.
str.sub!(/^0*/, '')
Que regexp peut être utilisé avec "1234", "01234", "001234", "0001234", etc.
Ruby 2.5
"001".delete_prefix("0") # => "01"