【发布时间】:2013-02-21 16:30:17
【问题描述】:
我正在使用 Scanner 和 Delimiter 来标记我的 .txt 文件(这是我必须做的功课)。该文件的第一个版本如下所示:
5,5,5,6,5,8,9,5,6,8, good, very good, excellent, good
7,7,8,7,6,7,8,8,9,7,very good, Good, excellent, very good
8,7,6,7,8,7,5,6,8,7 ,GOOD, VERY GOOD, GOOD, AVERAGE
9,9,9,8,9,7,9,8,9,9 ,Excellent, very good, very good, excellent
7,8,8,7,8,7,8,9,6,8 ,very good, good, excellent, excellent
6,5,6,4,5,6,5,6,6,6 ,good, average, good, good
7,8,7,7,6,8,7,8,6,6 ,good, very good, good, very good
5,7,6,7,6,7,6,7,7,7 ,excellent, very good, very good, very good
而我用useDelimiter("[ ]*(,)[ ]*")第二个版本的文件看起来是这样的:
5 5 5 6 5 8 9 5 6 8 good, very good, excellent, good
7 7 8 7 6 7 8 8 9 7 very good, Good, excellent, very good
8 7 6 7 8 7 5 6 8 7 GOOD, VERY GOOD, GOOD, AVERAGE
9 9 9 8 9 7 9 8 9 9 Excellent, very good, very good, excellent
7 8 8 7 8 7 8 9 6 8 very good, good, excellent, excellent
6 5 6 4 5 6 5 6 6 6 good, average, good, good
7 8 7 7 6 8 7 8 6 6 good, very good, good, very good
5 7 6 7 6 7 6 7 7 7 excellent, very good, very good, very good
我想不出一个正则表达式来帮助我用空格分隔数字和用逗号分隔单词。基本上我需要一个有 14 个值的数组(非常好是一个变量)
注意有多个空格(这样做是为了让我们更难)。
因此,我们将不胜感激。
附:我们只允许使用分隔符(不能分割等)
【问题讨论】:
-
正则表达式有 'space' (\s) 和 'word' (\w) 和 'digit' (\d) 和 'word boundary' (\b) 字符类可能对您有所帮助.
-
你想在最后的数字和第一个单词之间加逗号吗?
-
我不需要在文件中添加任何东西,我只需要提取值并将它们放入一个多维数组中,在这种情况下它将是 int [8][14],单词将替换为适当的数字。
标签: java regex parsing tokenize delimiter