Я использую Scanner и Delimiter для tokenize моего .txt-файла (это домашнее задание, которое мне нужно сделать). Первая версия файла выглядит следующим образом:Java Scanner Dilimiter
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 значениями (очень хорошо, если одна переменная)
Обратите внимание, что существует несколько пробелов (это делается для того, чтобы сделать это сложнее для нас).
Так что любая помощь будет оценена по достоинству.
P.S. Мы только разрешено использовать разделителей только (не расщепляется и т.д ..)
Есть 'пространство' (\ с) и ' слова '(\ w) и' digit '(\ d) и' word border '(\ b) для регулярного выражения, которые могут вам помочь. –
Вы хотите запятую между окончательным номером и первым словом? – nattyddubbs
Мне не нужно ничего добавлять к файлу, мне просто нужно извлечь значения и поместить их в многомерный массив, в этом случае это будет int [8] [14], слова будут заменены соответствующими номерами. –