「単語から数値へ」を検索すると、ほとんどの場合、数値を単語表現に変換する結果が得られます。これは、逆数よりもはるかに簡単な作業のようです。基本的なルックアップ テーブル ("first,1st,one" -> 1 など) で処理できるかなり些細なケースがいくつかありますが、一般的なケースに取り組むのにより適したものを探しています。私が構築しているアプリには、数値を含む場合と含まない場合があるユーザー入力を取得し、それを既知の結果 (それ自体がテキストとして保存されている) と比較することが含まれます。スペル ミス (例: frist、sceond) にも対処しますが、これは入力を最初にスペル チェッカーに渡すことでおそらく達成できます)。
これまでのところ、 http://j.mearie.org/post/7462182919/spelt-number-to-decimalを見つけました。これは、他の言語をサポートしているように見える (またはサポートしていない) ため、かなりクールに思えますが、移植性が高く、難読化されていません。
私が見つけた最も洗練されたものは、https://github.com/ged/linguistics/blob/master/lib/linguistics/en/numbers.rbとhttp://www.perlmonks.org/?node_id=506028です。有望なようです。
これ以上完全なライブラリはありますか? 英語とスペイン語の数字を、first、1st、1、1、さらには 1nd のような無効な数字、MMXII のようなローマ数字など、さまざまな形式で処理できるようにしたいと考えています。