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