spe*_*ool 1 ruby ruby-on-rails
Rails有一个很好的函数ordinalize,它将整数转换为友好的字符串表示.即1变为1st,2变为2nd,依此类推.我的问题是如何实现反向特征?
为了更一般,我想处理以下两种情况:
>> s = "First"
>> s.integerize
=> 1
>> s = 1st
>> s.integerize
=> 1
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种聪明的方法来做这个,而不是一个巨大的查找表或只是劈开最后两个字符.任何想法,将不胜感激.
to_i基本上是其中的1/2:
"72nd".to_i
=> 72
Run Code Online (Sandbox Code Playgroud)
它不检查有效性,但是如果你需要在"72x"之类的错误输入上失败,你可以重新定义并与原始输入字符串进行比较.
对于解析序数词,维基百科似乎非常有帮助.
| 归档时间: |
|
| 查看次数: |
420 次 |
| 最近记录: |