从字符串中提取Word格式的数字

时间:2014-08-07 14:08:55

标签: java

所以我要做的是在长字符串(即一首歌)中提取单词格式的数字,然后返回它们的每个数值,以便将它们全部添加起来。所以我想计算文本中所有数字的总和。这必须适用于任何文本和所有数字高达万亿。

所以我将字符串分解为标记并将它们存储在String []中。我将可能的数字格式划分为:

  • 最大:千万,百万,亿,万亿
  • 百家:百
  • TENS:二十,三十,四十,五十,六十,七十,八十,九十
  • 单位:一,二,三,四,五,六,七,八,九
  • 特别:十,十一,十二,十三,十四,十五,十六,十七,十八,十九

我相信这些是唯一需要认识的词。我开始从右到左阅读标记化的字符串,然后当我遇到一个单位,特殊或数十作为我点击的第一个数字时,我会设置它的数值并检查之前的单词是否也是一个数字以及是否加或等等。即,第一个数字命中是两个,如果之前的数字是六十,那么我只需将其添加到六十并在此之前检查单词,依此类推。但是,在实施它时,它似乎是一个很长的路要走。有没有人对如何以更快的方式实现这一点有任何想法?感谢任何回复,非常感谢,如果我不清楚我需要做什么,请说出来。它工作的一个例子是:"九百万枚火箭转三次并遇到二十二个外星人"它将提取,Twenty Two2,然后是20 = 22,然后提取三个为3,然后提取九百万为1,000,000 x 9 = 9,000,000

9,000,000 + 22 + 3 = 9,000,025

0 个答案:

没有答案
相关问题