Java中的字符串解析 - 我该怎么做?

时间:2010-12-05 12:26:01

标签: java string

我有以下数据:

Maths abc10 4 def08 6 ;  
English hrd45 3 ngh05 10 ; .  

开头的单词是一个也在枚举中的关键字,以下数据是用户名和登录对(可以有无限数量的这些。每个关键字的数据以';'和数据终止由'。'

终止

我正在使用扫描仪类,但我不能让它循环,以便它可以产生以下内容:

Maths abc10 4   
Maths def08 6   
English hrd45 3  
English ngh05 10

任何想法?谢谢!

2 个答案:

答案 0 :(得分:3)

将所有内容存储在Map<String, Map<String, Integer> >中。迭代线条,抓住主题,然后是名称。 (循环从这里开始)。检查名称是否为;,如果是,则退出。获取分数,然后将其添加到Map<String, Integer>。然后抓住下一个名字。 (循环在这里结束)。将当前Map<String, Integer>添加到大Map<>,然后重新执行。

答案 1 :(得分:1)

你可以看看正则表达式java.util.regex,如果它是家庭作业,你也会了解那些,相信我,它不会受到伤害。对于这么简单的事情,不值得去解析器方式恕我直言。