Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从字符串中提取Word格式的数字_Java - Fatal编程技术网

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

Java 从字符串中提取Word格式的数字,java,Java,所以我要做的是提取一个长字符串中的word格式的数字,比如一首歌,然后返回它们的每个数值,以便将它们相加。所以我想计算文本中所有数字的总和。这必须适用于任何文本和高达一万亿的所有数字 因此,我将字符串分解为令牌,并将它们存储在字符串[]中。我将word格式的可能数字分为: 最大值:千,百万,十亿,万亿 一百:一百 十:二十,三十,四十,五十,六十,七十,八十,九十 单位:一、二、三、四、五、六、七、八、九 特色菜:十、十一、十二、十三、十四、十五、十六、十七、十八、十九 我认为,这是它需要承认的

所以我要做的是提取一个长字符串中的word格式的数字,比如一首歌,然后返回它们的每个数值,以便将它们相加。所以我想计算文本中所有数字的总和。这必须适用于任何文本和高达一万亿的所有数字

因此,我将字符串分解为令牌,并将它们存储在字符串[]中。我将word格式的可能数字分为:

最大值:千,百万,十亿,万亿 一百:一百 十:二十,三十,四十,五十,六十,七十,八十,九十 单位:一、二、三、四、五、六、七、八、九 特色菜:十、十一、十二、十三、十四、十五、十六、十七、十八、十九 我认为,这是它需要承认的唯一字眼。我开始从右到左阅读标记化字符串,然后当我遇到一个单位,特殊或十作为我命中的第一个数字时,我会设置它的数值,并检查之前的单词是否也是一个数字,以及是否要加或乘等。即,第一个数字命中是2,如果之前的数字是60,然后我会把它加到60,然后检查前面的单词,依此类推。然而,在实现它时,似乎还有很长的路要走。有没有人对我如何更快地实现这一点有任何想法?感谢您的回复,非常感谢。如果我没有明确说明我需要做什么,请说出来。它工作的一个例子是:900万枚火箭转了三圈,遇到了22个外星人,它将提取,22个作为2,然后20=22,然后提取3个作为3,然后900万个作为1000000 x 9=9000000


如果你发布了什么代码,你会得到更好的结果。问题是为什么你的代码应该考虑二十二为22,而不是40×20 x 2或九百万作为1000009 1000000 +9。简言之,当你知道在哪里区分加法和乘法时,我要说的是,如果一个单位,十或百是最大的一个之前的单词,或者一个单位是一百之前的单词,那么它将意味着两个相乘。如果不是这样,那么它将是加法。二十万,意味着1000 x 100=100000。100000 x2=200000,其中162意味着,2+60=62,+100=162我的问题更多,我的逻辑处理这个问题的方式很难实现。i、 e.最大、百分、十分、单位、特价在文本中对齐的所有可能性。
9,000,000 + 22 + 3 = 9,000,025