没有.
不,没有内置功能可以实现此目的.
1.方法:HashMap
您可以使用HashMap来存储字符串,整数对(例如:“ twenty”和20).
HashMap numbers = new HashMap();
numbers.put("one", 1);
numbers.put("two", 2);
...
numbers.put("nine", 9);
numbers.put("ten", 10);
numbers.put("eleven", 11);
...
numbers.put("twenty", 20);
numbers.put("thirty", 30);
...
然后,您可以简单地通过numbers.get(..)解析它,并将该数字添加到您得到的数字中.
public int getNumber(String str)
{
int number = 0;
String[] parts = str.split(" ");
for (String number : parts)
{
if (numbers.contains(number)
{
number += parts.get(number);
}
}
return number;
}
2.方法:ArrayList
您可以创建一个ArrayList像
ArrayList numbers = new ArrayList;
numbers.add("zero");
numbers.add("one");
...
numbers.add("eight");
numbers.add("nine");
numbers.add("ten");
...
然后,您可以构建自己的函数以通过在此ArrayList中查找这些数字来解析字符串(它们的索引是结果数字).
public int getNumber(String str)
{
int number = 0;
String[] parts = str.split(" ");
for (String number : parts)
{
if (numbers.contains(number)
{
number += parts.indexof(number);
}
}
return number;
}
也可以看看